{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# User's Guide, Chapter 31: Clefs, Ties, and Beams\n",
    "\n",
    "Throughout the first thirty chapters, we have repeatedly been using fundamental music notation principles, such as clefs, ties, and beams, but we have never talked about them directly.  This chapter gives a chance to do so and to look at some `Stream` methods that make use of them.\n",
    "\n",
    "Let's first look at clefs.  They all live in the :ref:`moduleClef` module:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 28,
       "width": 117
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "alto = clef.AltoClef()\n",
    "m = stream.Measure([alto])\n",
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since clefs can be put into Streams, they are Music21Objects, with offsets, etc., but they generally have a Duration of zero."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alto.offset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.duration.Duration 0.0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alto.duration"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Multiple clefs can coexist in the same measure, and will all display (so long as there's at least one note between them; a problem of our MusicXML readers):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAABdCAYAAAD5cVKkAAAACXBIWXMAAB7CAAAewgFu0HU+AAAQG0lEQVR4nO3de7QdZXnH8e85OUlITiIJURLQ0DQgGopERBRXoRFZLtBUioot94ttbbzQCggW62UpFK3UUtF6Q0tdCIiCi1hQqQgBGhQwAZdKlFtAEkxIQi5yCrmcnP7xzGTPmf3Ou2f2zH7n7OzfZ629NsztfTbZ4dnzzvs+L4iIVGMa8AngEWDE8doJ/Dcwt64ARUREPgBsxJ2o0q81wJxaohQRkZ41DbiJfIkq+bqxjmBFRKQ3zQCWUzxZjQBbgQnhQxYRkV4zGXiQ9pJV/No7eNQiItJzvkK5ZDUMDASPWrpaX90BiMiYdRxwimP7XsDCktfehI0YTLsIWF3y2iIi0mPOpdxdVDuvg4J8MulKuiUXkSwPAFc4tp8OTC9x3S3AtcA2x75nS1xXRERkl0Hs+VO7d1DbgSODRy0iIj3ntZRLVieGD1lERHpRuwlrE3B8DfGKiEiPihPWNvInq6WoFJOIiAQWJ6wbgEfxJ6plwNvR9BmpiEYJikg71gCvBP4ceBMwG6vGvhZYAfwQS2giIiK1iO+wvlh3INJ7+usOQEREJA8lLBER6QpKWCIi0hWUsEREpCsMAG+rOwgR6RoHRO9z0P87JIxZwH7A6j7g/gIn7kP2UPgtwGZszsW+0fvT2FBXlz6sLtkgMJ7GGjk7sBIuQ9E/hzYR2DOKayCKcwc2UfI57HNmfSaR3d0gMA94BvhdzbFIb5iJTZtYU/TEF8ieJPit6JhZiW0HO64xHvgQNl+j1Qz5R7Dhs/OKBtqGWcD1NAp7PgZ8Gfg88JtETFuALwAvDhCTyFijYe0S2gex79xdRU8sm7BmAfck9q/C6otNxZYrmAe8Jwosff0fAXOLBpzT4cD6VFvJO8lxwNWpeNajQp7SeQPA0cDHsVV+rwG+BFwCnI2tHxXyWbQSloRWS8Kaiq2vkzznWE9bi7CuweTxm4GTigbdwhysMGeynb9xHDcF2JA6bif2H1OkauOA92Ndb1uB7wOfxFbk/TLwBI3v4TPAZ4A/DhCXEpaEVkvCusJxzuEt2rvIcc5Oqr2zucnRhmvpboBvOo4dBt5YYTwiM7CCsSPAD4CXOY7pB87Enqsml++4BHsO2ylKWBJa8IT1EprvlkaA24A9PO31Y8+S0ucNAfOLBu8wiA2ocH2eMx3Hn5hx7L0VxCIC9ndlBfa9uorW3X2vYXTSGgEeBPbqUHxKWBLaroQVqu97Ie7RhccAdwDTMs7bCXzVsX0ycHkFcc3Eul5cvoCNFkx6POPY19G552vSOwaA72BFZZcCf0vrEanLo+OS5mPFZ6ektp8MLAb+jebvtshup907rEs9540AV3ranOc57w0lP4/v2iPAn6aOf5nnWN/zOJE8LsS+SzuwwRRFLKH5O/m5xP6jU/u+22aMusOS0ILfYQ222O8a/h5bgT1Udnlve+Hs8nuyf8HuwIazJ23zXCv9a1akiBcBH47++WZgAnAoNg0kj4sd286hMdE3/ePryKIBitQtVML6dYv9D7V5/huLhzLKJtxdjmBdjhtS21wPv2OFJ7WJJJxI47nT27ARtcux79V7cpx/B/BUatt44PTon/83te/u9sIU6R7tdglOweZcuc7bCryqRbtXedotO5R3ABtZFQ9t3wh8AncyP8UTx74l45De9l383dOLclzjPx3nLU/s/yvge8BltP8MS12CElotw9pfBaxMnbMF+Isc7V7safctRT9Ehn7sF67vrvP7GTH8tKIYpHc9gj9hbaJ11/r7HOftoNqeFCUsCW1XwsqqC9gJv8QGORyP9auvxUYsrc9x7v959s0oHxpgz7Ke9eyfAxyXsS+rW1Ekr5kt9u+JDTK6zXPMKse2cVgZsaznwCJdYwD454LHZ5kfXSv5K/DvgXUZx88Fzs3Zrm+C8RmEqTV4Eu4H4KuAl1Psv6NI2qQcx/wdNtovy34Z2z9F8/PYdu0TvR+BvvMSxuui91kD2OikKoyPrjU5sW0K9oyqrAmefZOp7jNkOQz3PKu1wK0B2pfd3zoaySDLC/i/a1ldhhNbnFdE3MaECq8p4hNXbsmaM5upbPHbvbHRSkUHSpzraffUoh+ioA852tyBTb6c7DlPpIiF+J9h3ZHjGu90nDeMv5pMUXqGJaEFn4cVm4fNB3l1wfN8iWFl++F4DWBFRi9Lbf8hNj/mPPzP1kSKuAWbh+WaF/g07oLMaS93bFuJ/dAU6XohB11Aowuh1QPmtKzj19OZOn57ATfQeF6wFfg2VsB3edZJIiV9FvgxNiF+PnZ3tAS7m88zOOn1jm3JocDvwp7FPoZN5dhSIlaR4EInrLgr8HBsbZ+8sibs3oj9pa7SoViymgusxu6yvkb24BGRKj1AvonCaeNxT6RfHL0vwOoUxvaj+qV6RDoqdMKKuwIXYn/Btuc87xDHtiHc5WjKOAtLUE9how+vw55XiYx1x9JcRHo11tUIcFRq34KORyRSsdAJ603R+0zgNKyCRSuzgf0d2z+O/YWsymeBC7B6gWuxSZjHYyVsro+21e0AbAL2LGzkzO+xFZzTJXmk9/yjY9unafzguie1b2lnwxGpX5lRgkekjn8GW/unlY842qp6ou4XHW0kX9uxbsGXZpw/AXu+1Yk1iKZhpaKyKiHsxBac1PImvesYmr8XK2meDnIqVq3lcrKX9GlFowQltFpKM13rOOcBbBZ+lrk0L19/JW2Mx/c4yxFX1msI+9U6K3WNeOh71sTNdn0Aq22YJ7Y1WDUO6S3jgPtp/j6c1qH2lLAktOAJ62CyV/Zdgy1ANzXRzouibesSx22k+ofEk2hOiHle24Dbsbuun0Tbbq0wrmnATW3EdWOFMUh3+DDN34NrO9ieEpaEFjRh9WOThZPHXoV1n+2N3UU8gY32exobvptOaP9EZ1ZIPSpq4wlskMXBWDHduzyf0/VaD/xRRTHNwIbOF01WI9jw+yonicrYdgjwPKO/Ayvo7NpsSlgSWtCEla60vo5GqY3YALZ8939hI/OuAM7Hhpj3FQ2ygEXYwI30PK/+KIY8SWIT7vkv7ZgMPJiz3ayXb80u2X3MBB5n9J/9UzQWbOwUJSwJLVjC+lfHcTeUi71SHwE+5tl/Ec2/YJOv+6m28O5XPG3leQ2Tf4Va6V4zaP5hs5Lya8PloYQloe1KWH3Ys5i8FpC9ts5abOXgCTQvx520ChvxNhbsDTyHv8TSxOi4PbFkMIwlsQ34lyMpahI2krKMIeC+CmKRsWsiVgUjWeh2CPgF1RSabmUqlrRWAw8HaE9kNtZz8PQA8PUCJx5JdsJ6NLrWNPwJ61fA1QXarMM84B3YZ1qGDfh4Huuymw38Cdb1djU2F6oKCymfsL4H/KiCWGRsmg1cyOhkdTe20vC2QDHMxRLWQ1gXvkinHYclrMI3CEW7BL/hOO66crEHcQmtu99+SrUDHG7O0abvtZLRIy1l9/JWrPZf/Oc9RHslnMpSl6CEFmzF4cuxO5P3J7Ydic0dSdcAfDNWXmYCNqn4SWxJBdcqqp02vcX+x7EqGFVWwX5DiXN3AKcDf6goFhk7+rBnqRfT6N24A6ve/nhdQYl0g3ZGCU6g+QHxpVjSGgDeDvw82r7Tcd1fY78kfYs4Vu06Rxzx61nglR1oc4OnTd9rO3BiB+KR+s0EfkDjz3oDtupwJ0fOtqI7LAkt+MThI2hORpuxbo0h4JNYEhiPDT44KNo2lDj+KewuLIR7cX/GrbgrYlfhyYw2fa9N2J2e7H5OpTFxfhvw77S+8w9BCUtCq6U002LHOSvxzxs5DBvBFx+/E7s766TxZH/OM6JjDsR+7e5bYbv3ZbSZ9VqKSjHtjvYH/gf7Mx7G1mFzLcxYFyUsCa2WhHV06vgt5CvYeqmjrX8pGngBhznaGwE+lTjm29G211bYblwN5LGM9uPXMqwbtc5uIaneROCj2A+0Yay80kG1RuT2aux7eHndgUjPqCVh9WOll+J9/5CzzQMy2uvUCKkLHG19K7H/qMT2TiSsQazb8QLgc8Bl2EP3k7BhzbL7ORSb0/QCNjVkLN1RpY3Dvo8H1h2I9IxaEhbANdH2jdicpryecLS3EZvQW7W7U+3cRWPAxwxG3wF1ImGpFmDvWYAVsU2XCBORRMLKmgTcKT+P3m/GX10i7ReObdOwLpQqvYTRw8sfBk7AHnrPxJ4taN0pqdqdWDf3WFgkVGTMCp2w4nkjPyt4XtaKun9JtZ9hEY21ttZj1SeexVYffgh4TYVtiYhIAaET1ubofU3B87KOnwkc3n44o0ykMcF5K3Zn9Sj2POE/6MxqwiIiklPohPUI9gzoVwXP83UfVtVFdw6WAEewVYiXRturHLouIiJt6qPYs6RJnn3D2LOePhoDB7Zic6fKGiB72YztWGmiMpIxp6/XT/P6XbGqPh9RG/1YKSsRETHx//839VHsDmUF2SWSFgPnYQMX4mdUb6GaJQjOInvdqospXzX6Cux51Q3YaK2k15O95PgJwC9Lth37DjYH7CDCLBMhItINzsYG2N07QLECmiOefc9F10resa1KXb8fG8J7APZc6ifku8PzHfMw5YqAHoMlq9uBU7A7rKT9POeuLtl2UlxIdyXVFtUVEelmG6L3bZ2u1p40F1uvaX5i2xrgZGBJi3N9c7bKLKI4FbgSu3N8J83JSkRExohQgy72AG5ldLICm2R8M61n9r/Us++3JeL6ElZZ4q1YIVkRERmjQiWsk8kucjsInN/i/DkZ21djow7bcQ52V3U8VklDRETGsFBdguk7q6L7s4qALikeCgBTsDp9m6J3nz09+76OPbuLLSN/jUQRESkgVMJqNVT7N559r8C6Dl2+2l44DAGfB44DXtziWN/zs2mMrv3n67oUEZGA2i1++27PecuworJZzss4786KPlMrb85ofwQb8l4VFb8VEWkWvPjtLdjE4rQ7seU6Njj2gU3oXeTY/jxwbjWhteS7a9onUAwiIj0vVMJaC3zNsf1C/HOszsc9gvBsYHkFceVxjGffgkAxiIj0vJC1BC+iuYagr6DsX2OrDSf9ATgNuL7CuHz2B97l2X8m/u5MERGpSMiEtRk4Frgvse0b2LDyKdhovAOxRLUEG4GXrB94G7a8xzUBYgVb3fcmsusIAkzHJkOrkruISIcN0HpIeVKfZ9/06FrJUXevoLG+VOx9wOnAGVgl9MWea67GqqZfj823GiwYbztOwJYsOZp8qyL/GVae6XbgHuDHbbY7GL0fgmoJiojE4hUzJvVRbJXTPci+K9tOo7TRJCy5PY+//uBA9IoTYTz6bidWMd13bqfEsSdjiV9xPH3Yf4f4Ff/7MO3XAZyO3VGuo57PLSIyFk3CftCvqzsQadCwdhERj9ALOIqIiLRFCUtERLqCEpaIiHQFJSwREekKSlgiItIVlLBERKQrKGGJiEhXUMISEZGuoIQlIiJdQQlLRES6ghKWiIh0BSUsERHpCkpYIiLSFZSwRESkK6QXV5T6bAWeBG6pOxARkbHo/wEeHl9KZqOw2QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 46,
       "width": 214
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "m.append(note.Note('C4'))\n",
    "bass = clef.BassClef()\n",
    "m.append(bass)\n",
    "m.append(note.Note('C4'))\n",
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Most of the clefs in common use are `PitchClefs` and they know what line they are on:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alto.line"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 34,
       "width": 117
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "tenor = clef.TenorClef()\n",
    "tenor.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tenor.line"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this case, the line refers to the pitch that it's \"sign\" can be found on."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'C'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tenor.sign"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'G'"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "treble = clef.TrebleClef()\n",
    "treble.sign"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Clefs also have an `.octaveChange` value which specifies how many octaves \"off\" from the basic clef they are."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "treble.octaveChange"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t8vb = clef.Treble8vbClef()\n",
    "t8vb.octaveChange"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 57,
       "width": 114
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t8vb.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are some clefs that do not support Pitches, such as NoClef:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "noClef = clef.NoClef()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This clef is not supported in MuseScore (which I use to generate these docs), but in some other MusicXML readers, will render a score without a clef.  Percussion clefs also are not pitch clefs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAANYAAAA4CAYAAACBrQbcAAAACXBIWXMAAB7CAAAewgFu0HU+AAAEYklEQVR4nO3cX4gWVRjH8e+ub1i267rWq5lElBVR1qII1UX/FCEKIsoQujGEIAqjm+gi6CK7URD0oi7UCymiuonosgiCCEsogqU/xLIEQlFp/xTLf71ePOdl9W3OvO+6M2f0PL8PDM7OOc48wj6emTNnniGgg4hU6WALWN50FIm9CDzXp89XwAbgeP3hSEZeAp4BvmwBPzUcTGqtPu3TwAPAbwlikbwcDX+eGG40jGYsLmn7A3gIJZXMkcfEuj5y/ATwKPB9wlgkU94S6xJgItL2FPAJcBNwGLg6UUySIW+JdTswv+D4VuCNsP8KdruoxJLz5i2x1hYcewt4OezfDWxMF47kyltiPdzz86fA5rB/BbAvaTSSLU+J1QbuOuvnH4BHsEmLpcCHxCc2RGbFU2I9DcwL+4ewafXfsRd63wKrG4pLMtTvZWku5gPPhv3j2Eg1BdwIvNZUUJIvLyPWFux2rwM8CXwWjmvmT2rRAu5sOoiatbEpdIDdwI/M/JtvLfl7t+FnRJdqdP+jHhnCftGqNMb/3xV1gL8pXtR6edh6HQWOVRBPG1gQzne4p+1SbCQr8jM2sSEyqHFgIfaYUbkDWCL1bs9H+u+L9N9ZQSzrwrk+xlZd9Lovcu0OsKaC64sv27DfnXdzfsYaBfYA3wGPASebDUc8yfkZ4nXsFnMt8GfDsYgzuSbWFmyUup/qnyFF+soxsZYCO7BRakefvmMlbXuZ+XANYDvwwdxCEy9yTKxfgV3YV8BX9um7oKRtETZr2FWWhCLnyDGxOsALYetnPbZGsMhG4IuqghJfcp4VHERZIZ1lyaKQ7HhPrHUlbfcmi0Ky4zmxVgCPl7Rvwr7REpk1r4l1DfA+xZ/pd40D71Fe1UmkkLfE2gy8iX1/tXKA/vdgH0TuxepliAykRXwN3/mKLWqNPbPcEjm+iupjewIbiaaAv7BFuYeweoL/YDOKI6FPGxutxphZU/hNxfFIXrrrS5fV8dnISOT4tZFrtSP9r4r0n4vpcL2V2G3gMBbvcmyR7iJgCZZM+7Eqwd1KwaM1xCN56X42MlrHyS+k1e1FXo1c7+xtP+e+HBYZhIvV7THjfdqnsWpO/yaIRTLlMbFUu11q5zGxVLtdauctsVS7XZLwlliq3S5JeEss1W6XJLwllmq3SxKeEku12yUZT4ml2u2STI5fEBdR7XZJysuIpdrtktQQ8E7F55ygeGHtJPBLwfEVwHUFx6eopnTZZcCD2Og8id32dS3BSqQV+Qi7VRQZ1ARwM/B1C/i84pPP9nxVX7/XJiypDgBv97TdQDyxJoGDNcYl+WljiXWk6UDqptrtkpKL1e2q3S6NyXlWULXbpTG5JpZqt0ujckws1W6XxuWYWKrdLtKw9cRnBe9oMC65OLmYFRyEardLLbwnlmq3Sy08J5Zqt0ttvCaWardLrbwllmq3SxJD+HqBuhh7xXA6bKfCdhr4L/QZDn2627xw7AhW310kZhxYCEydAT0y7PW5LA0fAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 28,
       "width": 107
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "clef.PercussionClef().show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are a lot of clefs that are pre-defined in `music21` including unusual ones such as `MezzoSopranoClef`, `SubBassClef`, and `JianpuClef`.  The :ref:`moduleClef` module lists them all.  But you can also create your own clef."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 37,
       "width": 116
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pc = clef.PitchClef()\n",
    "pc.sign = 'F'\n",
    "pc.line = 4\n",
    "pc.octaveChange = -1\n",
    "pc.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And you can get a clef from a string by using the :func:`~music21.clef.clefFromString` function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.clef.TrebleClef>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clef.clefFromString('treble')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or from a sign and a number of the line:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 34,
       "width": 117
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c = clef.clefFromString('C4')\n",
    "c.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note, be very careful not to name your variable `clef` or you will lose access to the `clef` module!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Automatic Clef Generation\n",
    "\n",
    "Look at this quick Stream:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 31,
       "width": 146
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n = note.Note('B2')\n",
    "s = stream.Stream([n])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "How did `music21` know to make the clef be bass clef?  It turns out that there's a function in `clef` called :func:`~music21.clef.bestClef` which can return the best clef given the contents of the stream:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.clef.BassClef>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clef.bestClef(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.clef.TrebleClef>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.append(note.Note('C6'))\n",
    "clef.bestClef(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 83,
       "width": 174
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`bestClef` has two configurable options, `allowTreble8vb` if set to True, gives the very useful `Treble8vb` clef:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.clef.Treble8vbClef>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n = note.Note('B3')\n",
    "s = stream.Stream([n])\n",
    "clef.bestClef(s, allowTreble8vb=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And it also has a `recurse` parameter, which should be set to True when running on a nested stream structure, such as a part:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.clef.TrebleClef>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bass = corpus.parse('bwv66.6').parts['bass']\n",
    "clef.bestClef(bass)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.clef.BassClef>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clef.bestClef(bass, recurse=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ties\n",
    "\n",
    "That's enough about clefs, let's move to a similarly basic musical element called \"Ties\".  Ties connect two pitches at the same pitch level attached to different notes or chords.  All notes have a `.tie` attribute that specifies where the tie lives.  Let's look at the top voice of an Agnus Dei by Palestrina:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 155,
       "width": 748
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "agnus = corpus.parse('palestrina/Agnus_01')\n",
    "agnusSop = agnus.parts[0]\n",
    "agnusSop.measures(1, 7).show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The second note of the first measure is tied, so let's find it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.note.Note D>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1 = agnusSop.recurse().notes[1]\n",
    "n1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's look at the `.tie` attribute:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.tie.Tie start>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.tie"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This tie says \"start\".  I'll bet that if we get the next note, we'll find it has a Tie marked \"stop\":"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.tie.Tie stop>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.next('Note').tie"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The second `.tie` does not produce a graphical object. Thus the Tie object really represents a tied-state for a given note rather than the notational \"tie\" itself."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The previous `Note` though, has a `.tie` of None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "None\n"
     ]
    }
   ],
   "source": [
    "print(n1.previous('Note').tie)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can find the value of 'start' or 'stop' in the `.type` attribute of the :class:`~music21.tie.Tie`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'start'"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.tie.type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'stop'"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n1.next('Note').tie.type"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There is a third tie type, 'continue' if a the note is tied from before and tied to the next note, we'll demonstrate it by creating some notes and ties manually:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAasAAABzCAYAAAAmCy2bAAAACXBIWXMAAB7CAAAewgFu0HU+AAAVQElEQVR4nO3debQcZZnH8e/NvSELWSEkkS2BkAXQLGxhUWACgwiCMIqCjugwmTkM4oDbeOSwDKCoLIPOYVGRQZFRZ2QHGWRRgUACHhZFCIQACSSQkH252W5ye/54qqjq6qrqrZau9O9zTp/urq5b/dx+7623662nnheyNwNYBnQD++Xw/iIiIrG+APQAJef2EjAg14hERER8Tge24XVU7u2KPIMSERFxHQxsprKjKjnLJ+UXmoiICAwF3iC8o3Jvd+UWnYiICHAt8R1VCegFpuYVoIiItLfxwBaqd1Yl4H9zilFERNrcLVTvpFY59z3ArvmEKSIi7WpXopMqStgR19XAMOBdZ9m/5xGoiIi0r68R3VEtBg73rXubs/zNjGMUEZE2N4vwjuoVYHRg3fN8rx+WYYwiItLG+gNbqeyo3iT8vNQM3zo/yChGERFpcwcRfo7q4Ij1x1F+5CUiIpK6z1HZWV0cs/7wwLq7pR2giIgUR5+Utjs88Pwd4KqY9TcEnn842XBERKTI0uqsBgeefx/YGLN+sPL6/smGIyIiRZZWZ9Xhe7wFS02PMyTwfN9kwxERkSJLq7Pq9T1+GFhZZf2xgeejEo1GREQKLa3Oqsf3+Mka1v9g4PnQBGMREZGCS6uz2uR7/FwN608PPO9KMBYRESm4tDqrbt/jpTXE8LHAsjXJhiMiIkWWVme11vd4dZV1jwR2CSxblWw4IiJSZF3AzSls11/772rij5RmhCzbk3TiEhGR4hgL7A4814VNOZ+0NcAJzuNlwKKI9YZjHVPQKynFFWcgsB+wB5bg0RdLu+/GfocFwFtYhQ0REUnfPsAEYHlab9AP2Ibt2E+LWe8XhFdmH5tWYCGGA9djHdM24DHn+ZXAfXi/Rwmbd+vfsEK9IiKSru+RwUzyrztvcmHE6wdg12MFO6pn0wwqYDQw1/feZ4SscxRWfcMf4wvYoamIiKTn/c4qrQQLgD8798FrqAA6gZ9QXunC9evUIqp0MzDJ93xWyDrukZbfFOAO0ktQERGRjHwT6xEXhLz2VcKH/9Zi09xnYZ+Q93+e8Irvh4esWwI+mkmkIiLtKZMjqznO/RjKswMnA1dE/MyNVE91T0rYEd9U4MGQ5VFzbB2VXDgiIhIl7c7KrWTh7tQHAL/CEjCClhDdiaUhql5hsGI8wLqIdT+QUCwiIhIjzc5qMzDbeXycc38Tlh4e5nyyrVwxB3g1ZPktIcui0tW3JheOiIjk5QJsR/828BXCz/uUgHtzim8S1qH2AuuxdPWwuoRdhMd9eTZhioi0pUxS1wGm4e3Y/dcr+W/vASPTDqSKgYRnJrp2Ijz2T6QfmohI28okwQIsu+5d53HUe83EOqw8bSC+MkXY0OVbwP+lE46IiPil3VmNpHxuq6BryW8IsFYDgIsCy+YBp2JVL0REJGVpzhs1AOuIwmr/ATyFlS5qFedgVTX8BgOHUv47zAKOQR2ViEhmOoCXUtr2HoSngYNl0b1Ba2XT7YV1sNWsARanHIuIiNjo3AjgtS7gX1N4g/OITlHfjGUGzkvhfZM2ADgY+DqWhAEwBLgHuA3LIhQRkXTMBE4H3kxj43Ep6iXgzDTeNGXnUfl7PExtR2IiItKY1LIBP45NthgnLuGiVd0fsuxY4NKsAxERaUdJdlaTgP+O2aabkHBSgu+ZlMHEfxZRE3/9C+kmqYiICMl1VsOw8zhDIl6/B/i28/i4BN+3WZ/DxkLXAquwihRhsW0KWQYwiOhsRxERaSGd2MWxUeeoZmPndvzVLA7JJdJynyI83u+HrBtVbqmE/V6tZiz5VwWR2o3HZqyWYtiX6ExnSVai5ZbcjYXdXsPSDsHS5N9zlgcvss3DXwiPuYfKObUGRaxbovLarFawGJs0UlpfF1bV/468A5GaDMVOadycdyBtIrEEi6OJvrB3JfAxvPM9JeAR5/GxTb5vEiZGLO+icmhvRNiKjrXJhJOonZ2btL4u7MuQ2qsYBgN9UXtlrpnOqgu4jvACsCXg74H5geWPOveH4l23lJeoeoT3Ay8GlkXNW9UNLEwsIhERCdVMZ3UOsH/Ea1cQXuTV7ax2AD7SxHsnISy+HwOnUFnUNirW2yhmKr6ISFsYgQ3zhZ3D+SOWdBHldWe976UbYlVjqfwdhkas+3sqf8+FVJ7bahWbgL/mHYTUpD/e/420vt2x9ro770DaRNPnrL5NePbSCuCz2NxVUf7g3P9Ng++dlAXACcA7vmVfDFnv01TG+jJ2tLU6jcBERKRcF9HXRkUZC/xjxGtfw2bcjdvmHOfnD8Tq7m3Edvp5JCq8DBwBXIxdc/UD4FysIvwqYALwUd/67wA/Am7EMoLq/eyy1IfWjk9Mf+e+E7VXEQxy7hvZd0r9+jn3nR3ETzooIiKSt0Vu2myt+mAVH4Jpm93AZGBpyM90YYVgz6f2Cx+7geuBq7Ajr6xcTPU5tp7Bhg+jqlq0ghXYFCwH5x2IVNUfu7xjFnB8zrFIdbsBr2JZw6fnHEs7uAz4KvB0F9Yx1Goa4dcXXIntHIN2BX4DHF5ngDtincbfObdgKnlaqnXcb2DFeldkEEuzeqmvbSUf23z3aq/Wt8G5V3tlw8227q03weLIkGXd2LmeoJFYFl29HZXfPtj5o6zS3HeKeW0VcCKwLKNYRETEUW9nFVbT79dUJkd0ALcTXSWiHoOAB7Cq7mnbO2L5FuwI75UMYhARkYB6O6sJIct+FrLsbOKPhjbgTWnfTfUkj0HAndR3fq1efYEpEa/9E3YdzARsCHDXFOMQEZGAejur3QLPl2DDdH5dwLdCfnYtVtliClZf6wln+d1YCugMrOPbEPKzYJWOq03s2IzJeGmSfpcDtzqPL8OGCtVZiYi0sHWUV3H4ccg6J1JZ7eFRKqes+K7z2suB5WOInnKkBxiXwO8R5hsh73eb7/WP+JYflFIMSVEFi+JQBYtiUQWLbDVcwSJYtHZWyDrHBJ7PxqqvBwvHPuPcT8Sy/1wLsdTwH4Zsuwu4sKZI63dy4PkTwFnO450JH+4UEZEM1NtZBVM1Z4es4y9uuxUrYbQlZD23s+oDTA28VsKuywo7cjuV5KeS3wU4zPd8HlbQdgswCniI6OQLERFJWb2dlf/6ohJ2gXCQf+6n32E7/jCL8eryRU1geD42SaLfUJpLhw9zNl7x3eXYUOZKrLL8yzHxiYhIBurtrBb4Hq8jvGCtf8qMYPJFkHt0FdUZbMLOJQUdFrKsUf2ALzmPN2NHVPOxqcavJ/7aKxERyUC9ndVLvsdRhWcX+R6vq7K9F5z7yTHrPAQ8H1g2usp26/FlbKivhA1ZPuksV8afiEiL6AKOq2P9zb7HQyN+1j9txhFYHa1qPoTVReuNeP1lrNSTa0rEe9drBJaODvBzbOjP3W5cB3oorX3E1Qe7Ji2Jz0jStYNzPxy1VxG4pzlGovbKwl7O/bAOKs8JxenErndyswJforKD6Yd38fBGKqe29+uLV5liHuWdod9gbGoS12rg7Zoijrcn1umuovyIECxDMSqpYj7ZFtit1wexz/K1vAORqjqw9uomvL6mtBZ3n7UWy1yWdI3GEuCich9iPYp3vdGMGtapVtfPna03roLxAZRf/3RDHfFGOQbvGrC+Ia8fTfi1XrrOSpKk66yKRddZZaupmYJv8j0OXpvkugjviOtmoqeLB++81Ydi1gmmvjfUy/oMxn6PucAnKU8KERGRFtNIZ3UH8Jbz+POUX9DregrvXNB4LEkiWMHCNde53zfmPUcFnv+pepixbsDiPgFNTS8i0vIa6ax6gEucxzthE2OFuRRvuO4Q4DmscwiqpbPyV3tfAcypKdJwX8aOpk6mPBVfRERaVKOVIG4F/hm73ukCbDqQuSHrfQm7cPi7WBHc+5z7Jb513J8b58SzlUqf8T2+mfDru2oxCrgGO5q6psq6cUOXPwXWB2K6pcGYRESkikY7q16sbt5zwADgLmA6sCZk3auxYcD/cF4PTl7ozhHVF5tsMThn1Il4U3esJ3yix1q9h9UcPJ7yShthBsa8Ngw7Me5q5TR2EZG291m8DLnZ2FQfjVjvbOOkwPIh2JGZ+x5faXD7jfhborMBp2cYRyOUDVgcygYsFmUDZqupbEC/XwIXO48PxRIf4i6mjbLAufdf19SJDa2NdZ7fS3NHVfUKzt3l94HMohARkYYSLIIux8v8mwA8jSUxhF27FGWBc+/OVTUU+A02lTzYdB1nUH1G4SQFpzrxOyqzKEREJFFfxKo6uENlC4CZhKe2B12Hd4Hu2Vh1Cnc7d9W4jSSNw4bSooYBV2JzXLUqDQMWh4YBi0XDgNl6fxgwyXmhfoZVUb8FSzUfg114ez3wONYRLQKWYlPX98cuzt0VL219Bl5VjPXYxcU/JNsjqj2wP8SwKe5dw4E7sbm1VmYRlIiIJKsD+DTwLNFHJnG3d7HeNO6cURrOAn6BVYqvNdblWBp7klOWJEFHVsWhI6ti0ZFVtsqOrC6psnKj7sUSLiZiR1m7YJXA/bZg6eyb8f4IbsKuo5qZUlxRTsFS0hdiRSpXY0dNa/CK1g501tnJuR8CHOs8/3PG8cbpxD7vtNpWkuOOboxB7VUEbsbzRNReWTjCud+9i/TnbZqHV8uvD17iRQ9e/cBh2NFYBzYMF6wFmIVnIpZ3YcOVrnXOLVhxuZXmv+rAPudWiknCuTNU90PtVQTu+fP+qL2ysBErHNEyMxKMxhtaG5NzLNsDDQMWh4YBi0XDgDlJInU9CRt8jwdHriUiIm2pVTor/6SLA3KLQkREWlJSndVx2GHxe1jH8yqWdt4/7od8/LMN13MxsYiISFVd2PVVUands6jMAAyzo+9nDqmyrlSnc1bFoXNWxaJzVjlp9qLg64AvxLx+BDan1ZlVtuMf+tsYuZb47YPNrjwayyR7F5v08u08g5JIUe0VnIVAWkNUe2VZoEASMhkbvqt24WwvNltwnL1864+rsm47G4Zd2/Ea0Z/1fdhQrI6s8ldLe/0WHVm1ilra62F0ZFU4F1J7pYezq2zrSN+6ygYMdy6wito+717svKHkp572KtHc7NfSvHrb66F8wpRG3EDtDXtxxDZc/4BXIFbKDcO+xdX6Wbu3sIkwJX2NtpeGA/PRaHu9k0ew7ayZc1ar61h3aZXX3eK1c2PXaj87Y8MO0xr42cFYZmVPohFJnGbaa2fUXllrpr1GYfvPrYlGJKk4l9q+gfQQX5ViByzlvQRckGK8RTMQeIH6v/H5b608jcn2Jon2Gp551O0rifYamnnUbayZI6vHa1zvKirr6PmdiRVdhfY7aTme6I78PGBKE9suAQdSfg0b2Il8fRtszP5EzxKdRHsdTGV7PdLENtvdVGBExGtJtNd0yturB3isiW1Kit4k+ltHLzYNfdyFx4N822i3jgrgapr7ZtfIbVgmv9n26RaybSt9qWjOPWTbXtVOd0gTmr3O6grgJ87jTdgFwjsCbwG3Y4fZca4BxmJTglzSZCxFtBHLQAoaSPzkj7XYQHkZK1epye22s26yba9tTW6z3WXdXkpqamGdlE+yeDe1l3D6pu/nvpVKdMU1l+a+4b2JLgHIktqrWNRebWpP7PDXbcg/ED/PyyBsqnt3/Xuw+ZfEs4HG/5F6gA9nH3JbU3sVi9qrjU3GkijcBu3GhgQ/CRyEncg8EbgWWOJb7w4sG1DKLaPxf6RP5RBvu1N7FYvaq82NAu6ktkbvxob+OkO3JL+k/n+k1cDJeQQraq+CUXsJAIcCP8Wu8A42+FzgMmzoUKKNB9ZS+z/Sk1iiiuRD7VUsai+pMBSYgBWqbTb7pt0cBswn/p/oWeBUdM6vFai9ikXtVTBqhNbWCRyNzfE1GvsHWgG8ATyBXSIgrUPtVSxqLxERERHxXJp3ABJq/4jl1WYgkHx8PO8ARLZ3L2BleY7MOxB53wJsSCnM28AW7HIPaQ1LqazJKCIpeBLbOS7KO5A2dwnWDhurrPdXZ715qUckcdziBOvyDkSknYzAvrFvwyo/R1UHl+RdhNWFKwG31fgz+2FHxFuB+7F6dZKNK7EOquQ8FpEc/A9e6u0i4Ix8w9lu9cdqYfZin/VyGqvG8iBee83HKr1I8kZiU9G77aVRCJEW4Z8eoRv4OTAp14i2D18H5uB9tsuA4xPY7iO+ba4AbgL2SGC77e5C4Hm8z3YxNg+ViLSY27GhwRL2rXIDcBdWaURqcyle7cte7PNcBByVwns9iNde7vmUX6GEjFrtgA3tLcb7DLcBr9PY9PUikrGrgJV4/8C9WMmZZ7Gd8fj8Qms5n8c69NfxPqte7PzSH8nmm/l1lJcE6sXabw52jkxHXZ6Z2Hm/BXifVQkrPPsgdn5QRApmL2xHvJnyI65e7J97PnAjcAztcdJ/KjbF+WN4J917A/fzgbNyim8ytsPtobK9tgCvAv+JHeU1O5lqERwIfAN4ChveDrZXL/ASOle73VG5pfZ2EnAucAQ2w3MJ729iG1aOZhu2E18IvIalXT8N/B7bWRbBZOBwbEc3Eeuwd8FLiCjhTRrq7vReB24FvpNppPFOA87BjuwG4LWXG7PbXqux9poPvAjMBh7NId5GTcPmjJqK114jsPZyjzT97bUNuwzgv7DZx2U7pM5KXP2x5IHPYIkYHdgOwf834n5z7cB2jFuxoaq3sZ3Fi9g1X6uwIatl2DmyNI3EdmRDsHnTDsB2cOOc5f3wduZhv5P72mrgAWzGgMdTjjkJI7AjwtOAfZxlUe3Vx7ltxVLs38KOyP6CHaGswZI6lgGbUoy5D/YlYResvaY5t4nA3sDOeB1SWHu5F1r3YtmXvwV+BPwpxZilRaizkij7A5/ACn1OA3bC+3uJ+rtxv+V2BtbzJyZsxYa0tmBDkZuwDm0ddlJ8JDZl+EDs6GEAtgPriw1zdeHtwNyjCvc94uIr+V7biB05PQH8DsucLLpp2HxLR2Od9lCSb69N2Ge3EWuvRdj1fP726o+11w7OdqPay+1Eo+LzVwDZgH0ZmoUNiT4Q8fvIdkydldRjHHAKtmM8ENtRDcJ2Sv6dS15/V/4OqYTtXFdgw2Hu0OVD+YSWi0nYF44DsCG10dhwbyu0V/D9e7H2Wo4NNz+NtdVj2YcmrUidlSRlOjbVwt5YpzYaG6oahn3b7kvlN3go32n5v20Tsm4P3vDjJuwE+0pgCfYtfyHwHDYUubzZX2g7dzjWZmOwYcRReMNzA7D2Cg4rQnPttR778rAUa6uFWDbqLGw4WSTS/wM1k1g90FibXQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 57,
       "width": 213
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c0 = note.Note('C4')\n",
    "c0.tie = tie.Tie('start')\n",
    "c1 = note.Note('C4')\n",
    "c1.tie = tie.Tie('continue')\n",
    "c2 = note.Note('C4')\n",
    "c2.tie = tie.Tie('stop')\n",
    "s = stream.Measure()\n",
    "s.append([c0, c1, c2])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(Note that if you've worked with MusicXML, the our 'continue' value is similar to the notion in MusicXML of attaching two ties, both a 'stop' and a 'start' tie.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ties also have a `.placement` attribute which can be 'above', 'below', or None, the last meaning to allow renderers to determine the position from context:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 57,
       "width": 216
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c0.tie.placement = 'above'\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Setting the placement on a 'stop' tie does nothing."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ties also have a style attribute that represents how the tie should be displayed.  It can be one of 'normal', 'dotted', 'dashed', or 'hidden'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 49,
       "width": 362
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "s = stream.Stream()\n",
    "for tie_style in ('normal', 'dotted', 'dashed', 'hidden'):\n",
    "    nStart = note.Note('E4')\n",
    "    tStart = tie.Tie('start')\n",
    "    tStart.style = tie_style\n",
    "    nStart.tie = tStart\n",
    "    nStop = note.Note('E4')\n",
    "    tStop = tie.Tie('stop')\n",
    "    tStop.style = tie_style # optional\n",
    "    nStop.tie = tStop\n",
    "    s.append([nStart, nStop])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It can be hard to tell the difference between 'dotted' and 'dashed' in some notation programs."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Ties and chords\n",
    "\n",
    "Chords also have a `.tie` attribute:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 55,
       "width": 181
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ch0 = chord.Chord('C4 G4 B4')\n",
    "ch0.tie = tie.Tie('start')\n",
    "ch1 = chord.Chord('C4 G4 B4')\n",
    "ch1.tie = tie.Tie('stop')\n",
    "s = stream.Measure()\n",
    "s.append([ch0, ch1])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is great and simple if you have two chords that are identical, but what if there are two chords where some notes should be tied and some should not be, such as:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 49,
       "width": 198
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ch2 = chord.Chord('D4 G4 A4')\n",
    "ch3 = chord.Chord('D4 F#4 A4')\n",
    "s = stream.Measure()\n",
    "s.append([ch2, ch3])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The D and the A might want to be tied, but the suspended G needs to resolve to the F# without having a tie in it.  The solution obviously relies on assigning a :class:`~music21.tie.Tie` object to a `.tie` attribute somewhere, but this is not the right approach: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.pitch.Pitch D4>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p0 = ch2.pitches[0]\n",
    "p0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "p0.tie = tie.Tie('start')  # Don't do this."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pitch objects generally do not have `.tie` attributes, and  While we can assign an attribute to almost any object, `music21` looks for the `.tie` attribute on Notes or Chords, not Pitches.  So to do this properly, we need to know that internally, Chords store not just pitch objects, but also Note objects, which you can access by iterating over the Chord:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<music21.note.Note D>\n",
      "<music21.note.Note G>\n",
      "<music21.note.Note A>\n"
     ]
    }
   ],
   "source": [
    "for n in ch2:\n",
    "    print(n)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Aha, so this is a trick.  We could say:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.note.Note D>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "ch2[0].tie = tie.Tie('start')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And that works rather well.  But maybe you don't want to bother remembering which note number in a chord refers to the particular note you want tied?  You can also get Notes out of a chord by treating passing in the pitch name of the Note to the chord:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.note.Note A>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2['A4']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that this only works properly if the chord does not have any repeated pitches.  We are safe here.  We can also retrieve and specify information directly in the chord from the index:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.tie.Tie start>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2['D4.tie']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or alternatively (though note that this is a string):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.tie.Tie start>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2['0.tie']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And we can set the information this way too:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "ch2['A4.tie'] = tie.Tie('start')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's set the stop information on the next chord:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 52,
       "width": 198
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ch3['D4.tie'] = tie.Tie('start')\n",
    "ch3['A4.tie'] = tie.Tie('start')\n",
    "\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Voila! it works well.  Now what does `ch2.tie` return?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.tie.Tie start>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2.tie"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The chord returns information from the lowest note that is tied.  So if we delete the tie on D4, we get the same answer:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.tie.Tie start>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2['D4.tie'] = None\n",
    "ch2.tie"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But if we delete it from A4, we get a different answer:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch2['A4'].tie = None\n",
    "ch2.tie is None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is an example of a case where we might want to set the `.placement` attribute of a tie manually:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 56,
       "width": 213
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c1 = chord.Chord('C#4 E4 G4')\n",
    "c2 = chord.Chord('C4 E4 G4')\n",
    "c1[1].tie = tie.Tie('start')\n",
    "c2[1].tie = tie.Tie('stop')\n",
    "c1[2].tie = tie.Tie('start')\n",
    "c2[2].tie = tie.Tie('stop')\n",
    "s = stream.Stream()\n",
    "s.append([c1, c2])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Hmm... the E tie intersects with the accidental and looks too confusing with a tie on the C# to C. However, there's a placement attribute beginning in music21 v.4 which can fix this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 56,
       "width": 213
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c1[1].tie.placement = 'above'\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Making and Stripping Ties from a Stream\n",
    "\n",
    "Sometimes ties get in the way of analysis.  For instance, take this simple melody created in TinyNotation: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 54,
       "width": 372
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "littlePiece = converter.parse('tinyNotation: 2/4 d4. e8~ e4 d4~ d8 f4.')\n",
    "littlePiece.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Suppose we wanted to know how many D's are in this melody.  This, unfortunately, isn't the right approach:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "numDs = 0\n",
    "for n in littlePiece.recurse().notes:\n",
    "    if n.pitch.name == 'D':\n",
    "        numDs += 1\n",
    "numDs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first D is found properly, but the second D, being spanned across a barline, is counted twice.  It is possible to get the right number with some code like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "numDs = 0\n",
    "for n in littlePiece.recurse().notes:\n",
    "    if (n.pitch.name == 'D' \n",
    "            and (n.tie is None \n",
    "                 or n.tie.type == 'start')):\n",
    "        numDs += 1\n",
    "numDs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But this code will get very tedious if you also want to do something more complex, say based on the total duration of all the D's, so it would be better if the Stream had no tied notes in it.\n",
    "\n",
    "To take a Stream with tied notes and change it into a Stream with tied notes represented by a single note, call :meth:`~music21.stream.Stream.stripTies` on the Stream:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 56,
       "width": 197
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "c = chord.Chord('C#4 E4 G4')\n",
    "c.tie = tie.Tie('start')\n",
    "c2 = chord.Chord('C#4 E4 G4')\n",
    "c2.tie = tie.Tie('stop')\n",
    "s = stream.Measure()\n",
    "s.append([c, c2])\n",
    "s.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 56,
       "width": 155
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "s2 = s.stripTies()\n",
    "s2.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So, getting back to our little piece, all of its notes are essentially dotted quarter notes, but some of them are tied across the barline.  To fix this, let's get a score where the ties are stripped, but we'll retain the measures."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "littleStripped = littlePiece.stripTies(retainContainers=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we'll count the D's again:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "numDs = 0\n",
    "for n in littleStripped.recurse().notes:\n",
    "    if n.pitch.name == 'D':\n",
    "        numDs += 1\n",
    "numDs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's a lot better.  Let's look at `littleStripped` in a bit more detail, by showing it as a text output with end times of each object added:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0.0 - 3.0} <music21.stream.Measure 1 offset=0.0>\n",
      "    {0.0 - 0.0} <music21.clef.TrebleClef>\n",
      "    {0.0 - 0.0} <music21.meter.TimeSignature 2/4>\n",
      "    {0.0 - 1.5} <music21.note.Note D>\n",
      "    {1.5 - 3.0} <music21.note.Note E>\n",
      "{2.0 - 4.5} <music21.stream.Measure 2 offset=2.0>\n",
      "    {1.0 - 2.5} <music21.note.Note D>\n",
      "{4.0 - 6.0} <music21.stream.Measure 3 offset=4.0>\n",
      "    {0.5 - 2.0} <music21.note.Note F>\n",
      "    {2.0 - 2.0} <music21.bar.Barline type=final>\n"
     ]
    }
   ],
   "source": [
    "littleStripped.show('text', addEndTimes=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One thing to notice is that the note E extends now beyond the end of the first 2/4 measure.  The second D, in measure 2, by contrast, does not begin at the beginning of the measure, but instead halfway through the first measure.  This is why it's sometimes most helpful to run `stripTies()` without retaining containers:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0.0 - 0.0} <music21.clef.TrebleClef>\n",
      "{0.0 - 0.0} <music21.meter.TimeSignature 2/4>\n",
      "{0.0 - 1.5} <music21.note.Note D>\n",
      "{1.5 - 3.0} <music21.note.Note E>\n",
      "{3.0 - 4.5} <music21.note.Note D>\n",
      "{4.5 - 6.0} <music21.note.Note F>\n",
      "{6.0 - 6.0} <music21.bar.Barline type=final>\n"
     ]
    }
   ],
   "source": [
    "stripped2 = littlePiece.stripTies(retainContainers=False)\n",
    "stripped2.show('text', addEndTimes=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this view, it's easier to see what is going on with the lengths of the various notes and where they should begin.\n",
    "\n",
    "Remember from :ref:`Chapter 17<usersGuide_17_derivations>`, that if we want to go from the strip-tie note to the original, we can use `.derivation`.  For instance, let's put an accent mark on every other note of the original score, not counting tied notes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 54,
       "width": 372
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i, n in enumerate(stripped2.notes):\n",
    "    if i % 2 == 1:\n",
    "        nOrigin = n.derivation.origin\n",
    "        nOrigin.articulations.append(articulations.Accent())\n",
    "littlePiece.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To undo the effect of `.stripTies`, run `.makeTies`.  For instance, let's take `.littleStripped` and change all the D's to C's and then get a new part:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 57,
       "width": 382
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for n in littleStripped.recurse().notes:\n",
    "    if n.pitch.name == 'D':\n",
    "        n.pitch.name = 'C'\n",
    "\n",
    "unstripped = littleStripped.makeTies()\n",
    "unstripped.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Actually, one thing you can count on is that `music21` will run `.makeTies` before showing a piece (since otherwise it can't be displayed in MusicXML) so if all you are going to do is show a piece, go ahead and skip the `.makeTies` call:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 57,
       "width": 382
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "littleStripped.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Beams\n",
    "\n",
    "Beams are the little invention of the seventeenth century (replacing the earlier \"ligatures\") that make it easier to read groups of eighth, sixteenth, and smaller notes by grouping them together.  Formerly not used in vocal music (except in melismas), today beams are used in nearly all contexts, so of course `music21` supports them.\n",
    "\n",
    "There are two objects that deal with beams, the :class:`~music21.beam.Beam` object which represents a single horizontal line, and the :class:`~music21.beam.Beams` object (with \"s\" at the end) which deals with collections of `Beam` objects.  Both live in the module called :ref:`moduleBeam`.\n",
    "\n",
    "Let's create a measure with some nice notes in them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{0.0} <music21.note.Note C>\n",
      "{1.0} <music21.note.Note D>\n",
      "{1.5} <music21.note.Note D>\n",
      "{2.0} <music21.note.Note E>\n",
      "{2.25} <music21.note.Note E>\n",
      "{2.5} <music21.note.Note E>\n",
      "{2.75} <music21.note.Note E>\n"
     ]
    }
   ],
   "source": [
    "m = stream.Measure()\n",
    "c = note.Note('C4', type='quarter')\n",
    "m.append(c)\n",
    "d1 = note.Note('D4', type='eighth')\n",
    "d2 = note.Note('D4', type='eighth')\n",
    "m.append([d1, d2])\n",
    "e = note.Note('E4', type='16th')\n",
    "m.repeatAppend(e, 4)\n",
    "m.show('text')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Every note and chord has a `.beams` attribute which returns a `Beams` object."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.beam.Beams>"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c.beams"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That there is nothing after \"`music21.beam.Beams`\" shows that there are no `Beam` objects inside it.  Since `c` is a quarter note, it doesn't make much sense to add a Beam to it, but `d1` and `d2` being eighth notes, should probably be beamed.  So we will create a `Beam` object for `d1` and give it the `.type` of \"start\" since it is the start of a beam, and the number of \"1\" since it is the first beam:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "beam1 = beam.Beam(type='start', number=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can add it to the `Beams` object in `d1`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.beam.Beams <music21.beam.Beam 1/start>>"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d1Beams = d1.beams\n",
    "d1Beams.append(beam1)\n",
    "d1.beams"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can see that there is a start beam on `d1.beams`.  This way of constructing `Beam` objects individually can get tedious for the programmer, so for `d2` we'll make the stop beam in an easier manner, using the same `Beams.append` method, but just giving it the \"stop\" attribute:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<music21.beam.Beams <music21.beam.Beam 1/stop>>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d2.beams.append('stop')\n",
    "d2.beams"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now when we show the score we'll see it with some beams:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAABkCAYAAACbxgSPAAAACXBIWXMAAB7CAAAewgFu0HU+AAAVTUlEQVR4nO3debQcZZnH8e/NvUm4IcvNQgKBYDQJhC1IhLAOYFBAEMRBRAUZBlER0QAKjMqi4IRRgoBHHBlhyCA6npFd1Bk5AZGwyAzLDHvEJCBLIIQs5GZPev54qum61VXVXV1r1/19zunT1dVvVz1VfW/302+9C2RvJrAU6AV2zWH/IiIiIoX3d8BGoOLcngG6c41IREREpGA+BWymljBVb7PzDEpERESkSPYB1lOfMFWc9VPzC01ERESkGEYAC/FPmKq323OLTkRERKQgriI8YaoAW4D35xWgiIiISN6mABtonDRVgP/IKUYRERGR3N1I42RpuXO/ERifT5giIiIi+RlPcOPvClYDNQfoAV531n07j0BFRERE8vQ1ghOmV4EDXGVvdtYvyjhGERERkdzNxz9heh7Y1lN2luv5/TOMUURERCRXWwGbqE+YFuHfbmmmq8zVGcUoIiIikru98W/DtE9A+Un0rYkSERER6RdOoj5pujik/EhP2e3TDlBEREQkigEpbXek5/FrwBUh5dd4Hh+UbDgiIiIi8aSVNA3zPP4esDakfLfn8W7JhiMiIiIST1pJU4dreQM2pECY4Z7HuyQbjoiIiEg8aSVNW1zL9wBvNyg/0fN4XKLRiIiIiMSUVtK00bX8YBPld/c8HpFgLCIiIiKxpZU0rXMtP95E+X09j7sSjEVEREQktrSSpl7X8htNxPARz7qVyYYjIiIiEk9aSdMq1/KKBmUPBrbxrFuebDgiIiIi8XQBN6SwXffccnMIrzma6bNuR9KJS0RERCSKLmC/6sLCFHawEjjKWV4KvBJQbiSWIHk9n1JcYYYAuwITsIboA7HhEnqxY1gMvIyNWC4iIiL9QzdwSpo7GAxsxhKME0LK/Yz66VYq1A9BkKaRwLVYgrQZuN95/H3g19SOowK8DpyPTUgsIiIi5eee6i01f3F2cGHA89Ox8Zy8CdNjaQblsS3wnGvfn/Ypcwg2mrk7xieBHTKKUURERPKTSdJ0m7ODX/o81wn8D/61TOelGZTHbzz7nhBQbg71cf6J9BrSi4iISDFkkjRd4Oxgsc9z5+KfMK0CetIMymWyz/6fALb3KXuAT9kKcEQmkYqIiEheMkmaDnHtxN2bbho2+KVfEvK9NAPyOC4ghqd8yo4KKDs7k0hFREQkL5kkTYOptQU60VnXDTyDfwLyOtlOn3JwQByLfcoODCh7YxaBioiISG7eTZrSbJOzHnjYWT7cuf8p1q3fz9lkOxL4I8ALPuv9EqGg7HJTcuGIiIhIf/ZNLOH4K3AO/rU1FeCunOKbiiV2W4DV2DADfvPedeEf92XZhCkiIiI5yeTyHMBerh25xzty394ExqYdSANDgI6Q54PaNH0s/dBEREQkR+8mTX61Kkl6AmurtB3B3fNPxxKnPK1p8LzfJcWXgd+lEIuISFGdB3w47yCkX5kN/CHvIKrSTprGAhtDnr+K/C7NNasbuMizbgE2EOaG7MMREcnN7ihpkmwVah7aNJOmbiwh8ptbDuAhbEqSojgTG6XcbRg2SZ/7GOYDh6GESUT6n7BmDCKl14ENAZCGCVjS4WcTNiFvkXqfvRdL9BpZCbyaciwiA7C2dpKc9YTXfEtjk7DhZESystS55akT2BmspumrKexgFsFDC6zHetItSGG/SesG9gG+Tu0LbDhwJ3Az1utOJA07Av+adxAl8wPgt3kH0eZuAsbnHYT0K/OBa3OOYRhwe1obDxtaoAKcktaOUzSL+uO4h+ZqpkRasQvh/0e6Rb+dHukdED8vkv/7qFv/ul1D/lIb3PKj2OS2Ydqxevxun3UfAr6TdSDSb3TmHUAJjcw7ABFpb0k2BJ8K/JzgoQU2AIOAY4B/T3C/SRgG9BJ8ue2tgPVfwgbwLFLbLCmHoA4U0rrd8g6gBB7D2jUdjbVLbXfzsc/vQ3OOIwlTsM5XtwIX5hxLEk7Dhrh4Mu9A3JJKmnqwdj7DA56/E/tnuxSbUmUAxWgPdBLwXWAisAr4IXAJ9bGtC3j9UOzLrQwfHlIs6qWUPJ3T+NY69wuB5/MMJCGbnFsZjqX6fb6CchxPdfzGtaGlMpbE5blOrOZop4DnH8HGNKpe4hoN7J3AfuP6BNaYe6LzeDiWnV/uU3ZzyHaynGS4WRPJf5R1ERGRUkmipukfgSMDnnsRuxy3FqtiWwpsAxwBPJrAvuO4OGD9uVjitMK1bquQ7RTx1+uD2Lk/JO9ApGXVyasXUKDRcNvUVOBgbHYCiWecc38CsCTPQBLSjV1Z+HzegSRge+d+Z8pxPPs696WqADgU+4Pza/G+DJjsKf8L57n7swsx0HqCW+tP85SdGFLWe4xFsA54Ou8gJJap2N/X3JzjKIPTsXOp3nPxqfecblnfStN7rgv4Ef41LRXgZOwfzG2ec78f+Q/cFzTf3d3AU5512wWU7QVeSiwiERERKaw4SdOZBPdGmY3/ZLbVpGkQ8Dcx9p0Ev/iuA47Dkj63oFhvpj2HUBAREZGIWk2axgDfDnjufqwHmp/F1HqafbDFfSdlNrDcs+4C/Bt9+7XZehn4h6SDEhERkWJqNWn6Lv4DxS0DPkN4b7P7nPu8k6bFwFHAa651p/qU+yT1sT6L1T6tqC8uIiIiZdRF8NhKQSYCnwt47mvA6gbbfMR5/Qewed3WYsnHqohxJOFZ4ECsJ91JwNXAWcBDWC3UTlhPv6rXgJ8A/4wN1hn13GVpAMWOT8INde4Hovcxrm7Xvc5lPEnPIiHSyCDy/78dVl3ooL79joiIiIh4dABbRyg/AFiEDVDp1ot103/D5zVd2IS3Z9P83E+92KzGV5DtaKAXA+c3KPModlkvaJTwIliGtR3bJ+9ApGU7AY9jUxN9MedY2t2pWE/fs9AQDnFdh9XKT8fGEGt3C7ERwYMGZ24nu2LfT/8GfDnnWJIwCxsH8lTglnxDoQd4BSyh6Y3wwr2oT5gAvo//VCLjgV8BB0QMcGsseflb5+YdAiAtQxs8vxCblHhZBrHEtYVo760US/XHwib0Psa13nWvcxlPdZ7NtZTjXFbHAirDsZTtM2ODc1+E/9tB1YWo16cP9lnXi7UF8hoL3Ev0hMltMta+KKvhCUaFPLccm6RyaUaxiIiISIFETZpm+Kz7JfWNuDuw6rSdWwnKYyjwW2yE5LS9L2D9BqzGqwyTIIqIiEgLoiZNftd95/qsO4Pw2qE11Kp5e2ncGH0ocBuNL5/FMRDYM+C5z2Pzf+2EXZobn2IcIiIiUkBRk6btPY+XYJfP3LqAb/i8dhU2oOSeWPe9B5z1d2DdCWdiCdiagH3vAsyJGG8U04DBPusvA25yli/FLuEpaRIREelnoiZNwzyP78IaHLsdAUzwrLsXmAJ8C/g/5zV/cp6bjo3tdB/w91gPgP8M2P/ngEkRY27WTJ91P8d61IHVnJ2Y0r5FRESk4KImTd7Jeef7lDnM8/hh4CPUT5D7qHO/M32HPXgJ69LvN7NxF3BhU5FGd6zn8QPAac7yaNRVWUREpF+LmjR5u/097FPGPYnvJmyMhQ0+5apJ0wDg/Z7nKti4Ttf5vO7jWPKUpG2A/V2PF2AT924AxgG/J7iRuIiIiPQDUZMm9/hEFWygS68xruX/IngAtFepzfs2PaDM2djlPLcRxBvGwM8ZQKez/BY2tMDbwJnYVCtB8YmIiEg/ETVpWuxafgf/iXk3upa9jcS9qrVNQUnJOuA8n/X7+6xr1WBqo6eux2qYXsTaYF1L+NhNIiIi0k9ETZqecS0HTbD7imv5nQbbe9K5nxZS5vfAE5512zbYbhRfwS7BVbBLiQ8669VDTkRERN7VBRweofx61/KIgNeucC0fCLzQxHb3AI6kvide1bPYFC5VewbsO6ox2DACYPP1vO3ablgitx/FroEagI1plcQ5knxUe6COR+9jXLu57nUu46n+mDwQ2DHPQBIyCGuaUYa/i4nO/faU43iq40JOw76b8/TuGJEd1LcZCtOJjZdU7UX3DPWJzmBqB7sWu9QVZCC1kb4X0DcpcxtG7Q8CLDH7a1MRh9sRS/6W07eGDKxHX1Dj7xfJdiLhqHbHzuWf8w5EWlb9P/L725RoRmFfJK+S/4dvu9sBm3g97PO6neyCXWUow2wPW2HNSsrymTEG2A77rl/RoGzaOrHhkFoyj9okh35jG3nLNJo37m2n3KdCykx3ba8C/DhCvEEOc7Y1D0vevA717NN92zuB/adpHfB03kFILFOxv7W5OcdRBqdj5/L0vAMpgbnYucxiWqssLKEcCQbYj+UKcH3egSTk6zTODbIyEuf7P2qbJoCfupa9YxtVXUStBuoGrDYnSLVd0x4hZbxDFgT1yGvWMOw4ngOOp2/jdREREZE6rSRNtwIvO8ufpe/AlFUPUWsrNAVrzD02YHvPOfe7hOxznOfxfzcOM9SPsbiPIv9qPxEREWkDrSRNG4FLnOVRwLkB5b5D7TLaDOBxLEnxaiZpmuFaXgY80lSk/r6C1S4dS98hFEREREQCtTqy9k3AF7Dxkr4J3EIt+XH7MjYA5uVYQ8xfO/dLXGWqr5vkxLPJZzvuOd9uwH98qGaMA67EapeubFA27JLi9dh8ee6YbmwxJhEREWkDrSZNW7B52R4HuoHbgX2BlT5l52CX537gPL/U83y118JAYDL1vRiOxoYYAEtUrm4xZrD5767BhjcY06DskJDnerCeClVFHn5ARCSK92HDM4zFenEuwSZYfzXPoGIo0/GU6VigfMfT0Geo9Sh7GBje4nZWO9s4xrN+OFZTVd3HOS1uvxUfJrj33L4ZxtEK9Z5rf+o9lxz1nmusB2t28Wf8P/O2YFcKbqU9es81ezxLKX7vuWaP5Ujao/dcs8dzOQXsPZfExi5ybewFwgeFDPK08/pZrnWd1P5BK8Cd1MaHysKp+L+hFWyqlSJT0tT+lDQlR0lTuLOwsX2CPu/ctzUUP2mKcjybgdfzCbMpUY7lLYqfNEU5nlWUNGkCa/Rd3eBarLG139hHQe52XvtD5/EI4DbXNv9I+OWyNPyM4DfzqoxjiUpJU/tT0pQcJU3+eoA7aO4LzHsrYtLU6vGsySPYBuK8N0VMmuIcTymTJrCambWuDS/GPqT8hiTw+pHzmnnAGdgIoNXt3N7kNpI0CUs8gt7Et4HRGccUhZKm9qekKTlKmuqNxtqktvIlVqHWzrQo4hzPFmw6laKI+97cmH3IoeIez2ezD7nOu0lTqw3B/cwFHsXesBnAe7ABJK/FaormYdeO38Ay+62wQSbHUxtuYCa1UcZXY5f+riHh7K6BCVhGPDikzEisJuzjaFoGEWkvQ7DP4ziJT5QrCWmLezwd2NUNbyelPCTx3hRpsOYkjqf0OoBPAo/RWlb5OvBP2NAEWToNuyT3ToRY38KqQvfPONZGVNPU/lTTlBzVNPX1E1r/1V/B2gEVKWlK4niSrECII4lj2SbzqIPFPZ4t9O2pnpc+NU2XpLSTu7CRu3fGap22wTVTsGMDNgzBemwiyApWO7WZ7D/gjsOuu76ENUBbgdUiraQ2Oe8Qp8wo53448CHn8f9mHG+YTux8p/XeSjJGYWOHDcXes9XYpemV1IbE2BO9j80IO5fTnTLHkP2PsaLZFvhizG28hY3PVwRJHc+3EoglrmEkcyxnJhBLEkYT/3iWAhckEEtc3dWFLuzyWJoWUJsrbgC1Xygbqc1P14PVTnVgl8e8c81l4dGA9V3YH3PVO87tJU+5tM9jFB3YeS5STGIGYfMsTiF4iI6Xgaec5SHofQzS7LmsDqbbg87lQQls4y8U5zw2mhC+GUU5nokJbKMoxwKwVwLbKMrxdOE/gHdutqVWHfeenGMpA12eK6ZWug/PzSPQNhDlXK5El+eqniLe5ZJF9P0RmbfnKM/xnEN5jgXgV5TreIDiXMd1d/ks3EkSiakHS34+FuE1Re6dmadWzmWrg+6W0Y4xXrsJ68n0TkKxJCHOj+yiHU9PjNcW7VgAtovx2iIeD1CcpGm9a7k7sJRI+xkN3EPrVdWdCcbS7uKeyyI1Xs5LL60lkZuATwPzkw0ntl5a+84o4vG02iyliMcCtbbAURX1eABrY5SEw7Fu+m9iCdAL2HABzbZ63+Ja1geblEW1u22ca/urGxfpF5I4l+sSiqWdzWvhNSuB47GJ2YvmnhZeU9TjebGF1xT1WMDmkIuqyMeTiC6sqjzomuR86nvM+dna9ZoZaQTaz6hNUzEk0X0464FdiyqJc1mkAQzzMpna9BTN3B4kmQbKaZlCeY5nNOU5FrBOXWU6nkQ080F2UxPbGeMqv0cqkZbPZGxwzS8BZwMnYn+koKSpCNydG1q9PVW31f5pMjqXSdofq9UIO1+PYZ8vWc732aoyHU+ZjgXKdzyx2jRNA77QRLmTgcuwGY2DuBt/F3EeoKLowSY1Phn7IvGqAL+hTf74Si6JGtMbEthGGRybwDZ0LmsexgZP/Sg2A8MErInEG1hvtN/R2qWivJTpeMp0LFC+44nlQpr/lXdGg20d7Cqr3nP+onSx3oK1K5P8fJV4NSOL0P9C1Vx0LkWkAOLUNEUZcGpsg+cnOffLKWAXw5y10sW6A7s8JPkZEeO1he1um5NxMV6rcykiiYmTNK2IUPaNBs9XJ+kt1IibBRCni/UwrCdikSZv7E9aPe+F7m6bk1Z7velcikhhnEVzVeMbCR+AbBA2VEGF4sxnVARDgCeJd1lCAyTm5wSiv18rSKb9TtlEaQqgcykiqYlT0/THJstdQf08bW6nUJuV+Y4Y8bSjKQQnlLOwyVpbVQE+QN8xsAD+gP0Cl3Tdi10SarYtzUPAScDitAJqY3OB89G5FJE2t4jwxshXEz6A5lDXNvpbwgQwh3g1Sa3c4gzVL9GUrrttjnQuRSR3cadRmQ38i7O8DvtFuDU2s/gt2OWlMFdig1ltBi6JGUs7Wos1fvcaAgyOue019J2epqoSc7vSvGp32yOwHqI7YD8m3gQWYO3VFuYWXXvRuRSRtteJ/bqr/tK7g+anZrnA9bpvpBJd+yrTzN0iIiLi2BHrHVf9wr6P8OEIhgLXusrfiarTvdbQesK0ETgo+5BFRESkGdOwxt7VL+5e7FLd8cDeWIPmo4GrgCWucrei+aD8LKX1hOkTOcQrIiIiEYwDbqO5L/de7JJcZy6RFt8vUBdrERGR0tsPuB54jfov9ueAS7FLehKsTDN3i4iISBNGADsB7yV+b7D+Rl2sRURECkRftsXWCRwKzMDmkqsAy7Cu1Q9gQzuIiIhIBv4fD6BbLKlbAO4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 50,
       "width": 294
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let us add beams to the sixteenth notes, there's an even easier way to add multiple beams rather than calling append repeatedly, we can simply get the notes and call `.beams.fill()` with the number of beams we want (2) and their type, which will be \"start\", twice \"continue\", and once \"stop\":"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 50,
       "width": 294
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "m.notes[3].beams.fill(2, 'start')\n",
    "m.notes[4].beams.fill(2, 'continue')\n",
    "m.notes[5].beams.fill(2, 'continue')\n",
    "m.notes[6].beams.fill(2, 'stop')\n",
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Suppose we wanted to put a secondary beam break in the middle of the sixteenth notes?  It involves changing the second beam (beam number 2) on `notes[4]` and `notes[5]`.  We do not want to change beam number 1, because it continues across the four notes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "m.notes[4].beams.setByNumber(1, 'stop')\n",
    "m.notes[5].beams.setByNumber(1, 'start')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The output is not rendered in MuseScore, but works great in Finale 25:\n",
    "\n",
    "![Secondary Beam Break](images/31-clefs-beam-break.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are cases, such as dotted eighths followed by sixteenths, where partial beams are needed, these partial beams need to know their direction.  For instance:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "m2 = stream.Measure()\n",
    "m2.append(meter.TimeSignature('6/8'))\n",
    "c4 = note.Note('C4')\n",
    "d8 = note.Note('D4', type='eighth')\n",
    "e8 = note.Note('E4', type='eighth')\n",
    "e8.beams.append('start')\n",
    "f16 = note.Note('F4', type='16th')\n",
    "f16.beams.append('continue')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now comes the second, partial beam, which we'll make go right:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 50,
       "width": 283
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "f16.beams.append('partial', 'right')\n",
    "g8 = note.Note('G4', type='eighth')\n",
    "g8.beams.append('continue')\n",
    "a16 = note.Note('A4', type='16th')\n",
    "a16.beams.append('stop')\n",
    "a16.beams.append('partial', 'left')\n",
    "m2.append([c4, d8, e8, f16, g8, a16])\n",
    "m2.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This beamming implies that the dotted quarter is divided into three eighth notes.  If we wanted the beams to imply that the dotted quarter was divided into two dotted-eighth notes, we could switch the partial beam on `f16` to point to the left.  Unfortunately, none of the major MusicXML readers properly import direction of partial beams ('backward hook' vs. 'forward hook')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Beams the easy way"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This section began by explaining what beams were like on the lowest possible level, but most of the time we're going to be too busy solving the world's great musicological/music theoretical/cognition/composition problems to worry about things like beaming!  So let's jump all the way to the other extreme, and look at beams in the easiest possible way.  If all you want is your score to look decently beamed when you show it, forget about setting beaming at all and just show it!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 50,
       "width": 294
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "m = stream.Measure()\n",
    "ts34 = meter.TimeSignature('3/4')\n",
    "m.append(ts34)\n",
    "c = note.Note('C4', type='quarter')\n",
    "m.append(c)\n",
    "d1 = note.Note('D4', type='eighth')\n",
    "d2 = note.Note('D4', type='eighth')\n",
    "m.append([d1, d2])\n",
    "e = note.Note('E4', type='16th')\n",
    "m.repeatAppend(e, 4)\n",
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If the TimeSignature changes, `music21` will rebeam it differently:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmgAAABkCAYAAAAysswbAAAACXBIWXMAAB7CAAAewgFu0HU+AAAWkklEQVR4nO3deZwcdZnH8c9khiSTycWRkIQrCOEIEA5JOEUItwgusHIorOwCLoIK4rIsiFwiC0sQ3EVlkagvrlXkRgSWIIvcAQSRIwRIOANJCCSBCeTs/eOppqqrq7qru6u6jvm+X69+dXX1r6uf6unpfrrq93t+0H6TgflALzA+hecXEREREY9vAMuBknN5AehONSIRERGRPuwIYCVucla+XJhmUCIiIiJ91URgKdXJWclZv1l6oYmIiIj0PcOAWQQnZ+XLralFJyIiItIHXUbt5KwErAK2SStAERERkb5kHLCM+glaCbgxpRhFRERE+pRfUz8x+9C5Xg6MSSdMERERkb5hDOEDA0rYkbUpwHDgXWfduWkEKiIiItJXfJ/w5OwdYGdP2+uc9bPbHKOIiIhIn/IwwcnZDGCUr+3Jnvt3amOMIiIiIn3GQGAF1cnZbIL7mU32tLm8TTGKiIiI9CnbE9znbGJI+42oPMImIiIiIjH7OtUJ2tk12q/ua7tO0gGKiIiIZFW/hLa7uu/2HOCSGu2X+G7vGm84IiIiIvmRVII2xHf7YuCTGu27fbe3iDccERERkfxIKkHr8Cwvw8po1DLUd3vzeMMRERERyY+kErRVnuX7gA/qtB/ru712rNGIiIiI5EhSCdpyz/IjEdpv6bs9LMZYRERERHIlqQTtU8/yXyK038F3uyvGWERERERyJakErdezPDdCDPv71i2KNxwRERGR/EgqQVvsWV5Yp+1uwAjfug/jDUdEREQkP7qAqQls1zvX5hRqHxGbHLBufZKJS0RERCTLtgEGdwGzEtj4IuBLzvJ84O2QdqtjyZjfjITiqqUDm3JqHHZEbwCwFFiAzSH6MrCyzTGJiIhI37IvCc6oNABLZkrAV2u0u5bqKaFKVJfdSNpk4EXnuRcB12MzH9yEFdgtYX3pvtnmuERERKRvmY7lHYl5zXmCs0Lu3w6rl+ZPzp5OMqgAp+Emk3+jugbbblTGdy2VhXhFRERE4pJ4gnaL8wS/DbivE3iK4KNnpyUZlM93fc/9xYA2o6hOJE9pV4AiIiLSpySeoJ3uPMHrAfedSnBythgYnmRQHhOBFZ7nnh3QZkvcU5+lOm1FREREWpV4gvZF3ITGO6pzAlbINihBuzjJgDw6gMd9z32tr81g4P2QOEvO/SIiIiJxSjxBG4Dbwf5wZ1038ALBCc+7tG+KpyMCnv9sX5uhBPeRK2FTWQ1sU6wiIiLSd0wHSkkVqgUrUfGYs7yPc/1LYHxI+1No3wwCJwase893ezFwT8jj76JyOisRERGR3DgTO+L0FvA9wk8X3tHGmEaExHB0QNsxwPO+ds8DI9sSqYiIiPQ1iZ/iBNgWN7FZSXBiNI/2JjzevnHey9dC2vcHDsOSzSOxU7ciIiIiSZgOlLoSfpJnsL5lowmf9/M4LElrl7Eh6/uHrF8G3JhMKCKSIbsA56QdhIi01U3AVWkHESTpBG0k1qE+zGW09/QmhE+foCNjIn3bCGDvtIMQkbZ6Lu0AwiSZoHVjyVfQXJsAjwL/muDzh+kJWT8I2N25bAj0YvOIPgs8QnuP8omEGYYNUFmadiAiIpKcDqzsRRLWA4aE3LcCmwx9RULPXcsoYI0a9y/B4uqPW0qjBHyMJWwavSlp2gQrX/NW2oEU0JpUT/UmIsXWC7yRdhA+GwLdHcCeCWz8ZODAkPuWYiM6ZybwvFGcBBwcct8PgCc8t/fGZkQoWwVMBX6XTGgidU3DfkQclHYgBXQsNhBIRPqOmQSX3krTz4BNk9hwrXIaJeAfknjSBlxEcFzTQ9o/HND2mMSjFAlWwn7xSfz+ndqfXbrookvxLk+SPYkUqv0yMKVOm1qDBtrhk5D1z4SsfyBg3RRspgGRNGhAi4hIwcU5SGAz4HrCy2ksw/p1HQj8T4zP26i5Iev9MwmUvRKwbk0sGb0hlohEGtOJDb55M+1ACuavzvVPsFlPJF7/gX3+H4D1QS6SP2L9m7dLO5CYDQKexo4ypX32K26fB64jm0fQgPgStOHA7YQfVbod+yOfj0371A/rz5WGd0LWLwlZPz9k/RdQgibp2R24Ju0gCqY8AGg+MCPNQApqsXM9i+K9vsuw77Si7ddg53oJxdu3tZzrsO/+1MVxirMTOyK2Scj9j2Mdb//g3F4T2D6G523WayHrV4asDzslOjqGWOI2ENg67SCkLQ5JOwAREUlOHEfQfgzsF3Lfq9gh7U+wemLzsWKQ+xLeKT9pLwMLsaN+USQ5oXzcTsX+HuOBl1KORZK1P1YSIuyUvUjWlEuYfJXwLiV5NQz7Pj0+7UBiVu7vOpri7dvGznUWD7bEYnfssG7QyIgFuC9A2Q3OfQ+2L8RAV1Mdb1jR3L8LaFsCrkw+zIZNwWLbNe1AJDHe9+C56YZSOOX/9X9LO5CCmkX6I/Z00cV/yWIftJZHcXYBV2DFbv1KwFHYETSv+53rHbHOh2m5mOpTmt0hbcOOtD0UXzgiTTkBjegUESmkVhK0E4EtQu67ELg7YH05QeuPdbJPyytUd7AeEdJ2q4B1C4G7Yo1IpHFrA/+YdhAiIhK/ZhO0tQg/vfIgcE7Ifa/jDq/eo8nnjstpwBzP7aBEDGCHgHVnYUmaSNrOxR1pJSIiBdFsgnYBsHrA+gXA1wgfEQlu4de0E7QFWC2zD5zbu1I9uvQAYBffukuwaRhEsmBtKqcjExGRAuii8Yr4Y7E564J8H5tUvNY2H3ce/3lgIjbCcyFujZx2eg3YC/gFdqTsQeBObGTcJthcnGXPY0cr7iO7swj0d657yG6MEr9/AW6meMU/263cL3YA+v9JQp5GxEvf0Un2/t87wTr4l1IOREREREQ8OrCjLVH1A2ZjxWa9eoEJBNdk6gJOBk4h+LRokF7sNOIlhBeKjcMBwA+w2AE+Au4F3sJ+TW8E7IS9RjOw0Z+/TzCeVl0IfBc78vdYyrFIMj7G5o39K3CM775jgd+1O6ACKU9Ddw5wacqxFNFU4HBsOqSZKccSt2eAMbi13oqiB/tef5jweqd5tRN2Ruw/gTNTjsXvQewsY0O2JbiOyNkh7ccAj4Q8JsrlFcI777eiE/iV77n+D3fqB68eLMFc5LS7keyWNlAdtOIrAU9hP5ZupPI9PJfoP4KkmuqgJes67PXdLO1AEjAD+/FUNINxvx+LZlds36akHUiApuqg7Rawrhe4PGD9SOBPwM4NPofXxsCjxF+S42oqyxPMwz6c3w9o2wv8FMu2P8CqYAftr0g7rcJqDU7zrBsJXJROOCIiEqdGE7RJAet+S3UH/w7gJmDTZoLyGQz8kfh+dR1M9amh66hfNuNF3NFyxwPrxRSPSLOWAYdipzvLjie4NIyIiORIowla0ITovwlYdwK1j3otAVY4y73UH6gwGLiFeOo9BZUkmBOwLsjNznUn6RbaFSlbDHwJeNu53UE2D9mLiEgDGk3Q1vHdfg87BenVBZwR8NjFWCf2rYEhuFMl3YYNcZ2MJXtLQp57c1r/4hlI8NGFqP3cFuMmk0NajEUkLnOAQ4Dlzu1dsSPFIiKSU40maP6k5A6sL4zXvlSf/vsTMA4bMfmc85gnnPu2wzpXPoD1CxsP3BPy/MdiIyubFXYE7kiidawfizv36IstxCEStyepnMHjgrQCERGR1jWaoPknRn84oM2evtuPAftjHfG9pjvXm1JZ6uMN7JTNTwO23YVNs9Ss3pD1/bHO1mdQe4TmIc7121QfORRJ2yVYQWWwHzr7phiLiIi0oNEEzZ/gBNXa8k6gvgLrkL8soF05QesHbOO7r4TVTfvvgMcdjCVqzfgEeDXkvgHYKdgXsRGdfj1YjTGAy6g9nZVIGlYA3/PcPjmtQEREpDWNJmgLPMslrGitn7eW2L2EFyR8B7dz/nYhbU7BTol6DaO10h0/r3P/54BbsQJ23mTzR8C6wLNYYTuRLJoG3O8s74edlhcRkZxpNEF73bP8EcFHkZZ7luudBiwfRQtL0D4FTgtYv1Od7dZyBTYfaD174SZj/4wdmViMTQa/osbjRNJWroXWARyWZiAiItKcRhO0FzzLYZObv+1Z/qjO9p51rifUaPO/2DQaXqPqbLeW5VjtKP+RuSBdwHeAK53b3wBeauG5RdphGjYLB8A+aQYiIiLN6aKxD/ClnuVhIY/1FnzdBXg5wna3wk7H+EeElr2ITTNVtnXIczfiYmy6p0ambfovbPqqsH5saRvrXE/C5hKVYhpK/ff/09jI6Z2xwQL1ag2K2xd2HEpskzDaud4FWD/NQBLQg9XHLNr7ptu5Xp3i7duWzvVYsrdvw8BOgUQ5klTWidUjK4/mfIHqpGoAbkHbWp3yAVbDnSFgJpUJoNcQKvvSLMQmNG9WJ7Ah9uYr112LmtCUsJGm9Y4OpmE01gdwFuEjViXftqL+/xVU/s/MoLLrgQQbCmyA1Xecn3IsRbQeMJzan/V5tQn2ffZCvYY50w/ri92Lfa8USQ/W5/x94N2UY/HbGDc5bsj9uJMzT47Qpl7F/Q+cdkfUaLMdlZNC1+voX8sgrGZUCSsTMgRLOI/GBi5EmcR9CbVPy6ZFk6UXX3my9HrG4b5f/aOkJZgmS0+WJkvPH02Wno6mJksH+KVn+aCQNj/EPbI2FedwXYhyP7Ra1fz9ZTrCRoZGcRWwPXYE7ivYkbAScC32K+gCbHBCLd3AL1qIQSRp3iO8A1OLQkREmtJMgnYz8KazfDSVRWbLHgXOd5bHYR39R4Zsr9zpfvMaz7m27/aT9cMMtCHwdWf5OCrLhoAdxv0h9gvv93W2tTPho09F0uadNaOIv+xFRAqtmQRtOe6UMmsAp4a0Ow/3VOQk4C/YDAF+URK0SZ7lBUQrkxFkR+f6KSxpDPMGVp5gN9zRcEH2aDIOkaQN9Sxnsb+kiIjU0EyCBnAN7iwCZxKeXJ2E1TFbgU20fifVJTLKCdpGhM8QcLhneSrNV/EvjxyaFrH9Q8BEwpM0/5yjIlmxjnNdwjrBiohIjjQ7ZdIq4J+wo2LdWOX9HYBFAW2nYEerfuLc7x8dNcO5Xg0buTDDd/8BWFkNsFM1lzcZM7j7u7Bmq0qLsCmgfh1wn0ZKSlaVZ8F4B71PpX0+h733RmIj+t8DnsDeh3nXF/ct6Ds9T3L9N2s2QQNLpI4DrscmPL8Hq7cUVMD2Oawyf5DyF0gP1l/Nm6ANxSr/l51Na8NhP3SuGx1FFDZqrtbpT5E0lWv8RKlDKNKK4di8r0dhP7L9SsBd5HP+4qj7tlo7g4pJlH27t60RxSPq3+zadgaVlh/iDud/mebKTzzvPN47uXMnNiChvO3bceuvNWsPZ1sfUtlHp54JVJfaWIoV78sSldkovqhlNt522l6cbDiFojIbjfs29nkapTzRJ+SrzEYj+7acfB2pbmTfSjTf77vdGtmvBWS8zEZcGzuPyn/C79DYL4o/OI8tT0I+DLjFs80/E09l/B5grrPNoFOWYU6i+o97XgzxxE0JWvFFSdC2wH2f7p94RMWhBC264cBtRP+C916ynqA1u295KAbd7L5lvXBzK+/HwidoAMfg/kIqYROrH0dwGQ6/K5zH3A+cgNUoK2/n1ojbiGoy9kunhI0yrZdIroGVFfH+Qe8G+scYU1yUoBVflATtdNwvjCGJR1QcStCiWRPrf9zMl2EJt09xFrW6b1n8XihrZd9Wkd3TuK3+zVrp156U2BM0gPFYBzzvzi8F7sM+9I4C9sbmYtsT+0A8kcqZB8qXj4BTaP20ZpCJWAJZwv6w+4U8z/q4sw6UL7+hsfk720kJWvFFSdBectrlsf9ImpSg1TcIKy7e7JdhCSsUnkVx7Ju/ZmdWxLFvWevSA/Hs1yVtj7q+RBI0sETnMGyy5mZerHeBi3DLBCSlB/gxVoKghA1WuBG4DEt07sRmFCjH9QRwYMIxtUoJWvHVS9B2wn3PHtOOgApECVp9V9Lal+FKsnskJo59a2XgXZLi2LfOtkddXxz7lcXEczpQ6sAtOpuE0dgIzw2AEVRWNwebwmkRdpRtXewFu4D2jvbpwobirodNND4Qqw/3KXYqdA52inNeG2Nq1j7YDAe/wp3tQfJnDeyX+GDsQ/Fj7LT/IuBc7D15VchjNwWOxP63LqV4k1K3qtZruxk2J/A0bJ5eqTQK64LSinm0NpdyUrRvtWVx34YSXig/qizuF8DxwDpdwJiEn2gm7tyZ/XB/PS3Hna9zOHbUrQNLlPxzbybtY9yCuUHa8TrFoZwAr4UVB5b86I/NRzuO8BHGb3rahr0fPwLuAJZgfTMk+mv7hrM8lHz8v7dbHEfmXyObr+0XYtiG9q29gkpoNCqL+wV2Ri+oZFkqRuEectwg5VjyTKc486nRIe/PpRNmLjXy2pbb6RRnsHI5pGYvs8nuoJVyv03tW3727WyKuV+fycr58iWe5Uy/YCIxGo4NOvlKg4/TFGP1NfPaDk8mlMJo5cfzCuBosjsvrPYtWJb3rZUzBFner89kJUHz9pPpTi0KkfZZExvdvG0Tjx2GdRXIQ92lNLTy2kJ2PhezppfqfsRRrMD6RWa5X18vzX33aN/S02z/2qzv12eanSzdbx+sSNw87EV7GZthYGDEx6/yLGd1hI9IXAZhpWWaTSA60JHmMK2+tmADhKTatCYeswg4FLgp5ljidl8Tj9G+pcs/b3cUediv2HRhpxHCzvE+TLRfXD2ex0xKItA+Qn3Q8qGoQ96zII7XNqt1DtM2Duu4HPW1fAQYm0agTdC+5W/fRlLM/YpNlA/DayJsZy1P+60SibQ4NgYOBr6FFfI9HLdPkhK07NuG1hKIEvC3tkedD2PRa5u0nYBXqf0aPo19RiVRZDxJ2rf87VtR9wtora/FBOCbEdodBfwIeKVGG+/pmiWhrfqu4dhE8kcRPLS4BNwFvNfOoKQp34phG1Nj2EYR7RPDNvTa1vYYVi/uy9i0eethXVTmYqMF78a+MPNI+5Y/Rd2vlp1F9F+l9Yrk7eZpq741lRopE1CeY1RH0LKrqEPes+Ay9NqKSEG0cgStkeJuI+vcv5Fz/SEZH/baRs2UCRiUTCgSow1aeGwuhoanaEQLj9VrKyKZ0kqCtrCBtnPr3D/Zua5Vzb8vabVMQP8YY5F4FXXIexYUfti9iEgU3ybaaYPl1D5q0B8rz1ECzkww3rwYBDxLa6dqdmx71BLVDTT+91wIHJRGsDlzMnptRUSYQLQPwAvrbOc4T9vxSQWbMd3AXiGXO2ktOVsF7Bew3bHt2DGpq6hD3rNgNHptRUQA61RbK1G4nNrFcAd7tnFbopFmy0a0loQ1c9H8gtlR6KHhKdNrKyKF0OqUJhcCVznLn2Kd2nuAN7FKvc/Wefyl2C/YlcA5LcaSJ6uwARF+3USffSHMEoL74qg6enaUh4bvi41gXhd7T8wDZmL9D2elFl2+6bUVEcGqmT+N+8v0NqJPH3W653FnJBJd/vyZ1o6SzUZlAkRERARYHxulWU4SHqB2CY7BwM887W9HpxrKZtF8crYc1T8TERERjwnAG7jJQi92uvNQYHtga+AArJDke552N6OSEF7P03xy9vcpxCsiIiIZtzZwC9ESil7stKYmfK70cxpPzlQmQEREROraEbgamEN1MvEScD52WlSqbYjKBIiIiEjChgGbYInHgJRjyQuVCRAREenj9AWfTZ3A7sAkYBSWlC3ABhE8hJUxERERkYL6fyMiIzPiDdo3AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 50,
       "width": 308
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ts68 = meter.TimeSignature('6/8')\n",
    "m.replace(ts34, ts68)\n",
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is accomplished because before showing the Stream, `music21` runs the powerful method :meth:`~music21.stream.Stream.makeNotation` on the stream.  This calls a function in :ref:`moduleStreamMakeNotation` module called :func:`~music21.stream.makeNotation.makeBeams` that does the real work.  That function checks the stream to see if any beams exist on it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m.streamStatus.haveBeamsBeenMade()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If there are any beams in the stream, then that will return `True` and no beams will be made:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m.notes[-2].beams.fill(2, 'start')\n",
    "m.notes[-1].beams.fill(2, 'stop')\n",
    "\n",
    "m.streamStatus.haveBeamsBeenMade()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmgAAABkCAYAAAAysswbAAAACXBIWXMAAB7CAAAewgFu0HU+AAAWxElEQVR4nO3dd7gb5ZXH8a+5FxdcacY2zQRMx5RgU0PA9BBggQ0lgQ27QJZAEghZloXQQ1hYTCC7JGEJTvLQNiF0QoDFhCX0FgihmGbTu8E2XIML1v5xZpjRaEYajWY05f4+z6NHo9Er6cxcXelo5n3PC903BXgP6APWz+H1RURERMTnm8AioOZcngaG5BqRiIiISD92IPAZXnLmXs7OMygRERGR/moSsIDG5KzmrF83v9BERERE+p+RwEzCkzP3cn1u0YmIiIj0QxfQPDmrAUuATfIKUERERKQ/mQAspHWCVgOuzilGERERkX7l17ROzD50rhcB4/IJU0RERKR/GEf0wIAadmRtKjAKeMtZd3oegYqIiIj0Fz8gOjl7A9ja1/YKZ/2sLscoIiIi0q/cS3hyNgMYE2h7jO/+rboYo4iIiEi/MRhYTGNyNovwfmZTfG0u7FKMIiIiIv3K5oT3OZsU0X5N6o+wiYiIiEjKvkFjgnZqk/bLBtqunHWAIiIiIkW1VEbPu2zg9pvAeU3azw/c3jbdcERERETKI6sEbXjg9rnAJ03aDwnc3iDdcERERETKI6sEbYBveSFWRqOZEYHb66UbjoiIiEh5ZJWgLfEt3wF80KL9+MDtlVKNRkRERKREskrQFvmW74vRfsPA7ZEpxiIiIiJSKlklaJ/6lv8So/0Wgdu9KcYiIiIiUipZJWh9vuV3YsSwe2Dd3HTDERERESmPrBK0eb7lOS3abgesGFj3YbrhiIiIiJRHLzAtg+f1z7U5leZHxKaErFuNbOISERERKbJNgGG9wMwMnnwu8BVn+T3g9Yh2y2LJWNCMjOJqZgA25dQE7IjeIGABMBubQ/Q54LMuxyQiIiL9y65kOKPSICyZqQFfa9LuchqnhKrRWHYja1OAZ5zXngtcic18cA1WYLeG9aX7VpfjEhERkf7lYSzvyMxLzgucHHH/Zli9tGBy9liWQYU4Hi+Z/BuNNdi2oz6+y6kvxCsiIiKSlswTtOucF/htyH09wKOEHz07PsugAr4XeO0vh7QZQ2MieWy3AhQREZF+JfME7QTnBV4Oue84wpOzecCoLIPymQQs9r32rJA2G+Kd+qy1aCsiIiLSqcwTtC/jJTT+UZ0TsUK2YQnauVkG5DMAeDDw2pcH2gwD3o+Is+bcLyIiIpKmzBO0QXgd7A9w1g0BniY84XmL7k3xdGDI658aaDOC8D5yNWwqq8FdilVERET6j4eBWlaFasFKVDzgLO/iXP8SWD+i/bF0bwaBo0LWvR24PQ+4LeLxt1A/nZWIiIhIaZyEHXF6Dfg+0acLb+piTCtGxHBISNtxwFOBdk8Bo7sSqYiIiPQ3mZ/iBNgUL7H5jPDE6F26m/D4+8b5L1+PaD8Q2B9LNg/CTt2KiIiIZOFhoNab8Ys8jvUtG0v0vJ+HY0lat4yPWD8wYv1C4OpsQhGRAtkGOC3vIKS0PgH2zjuIlA0Cbs47iIxdA1ySdxBhsk7QRmMd6qNcQHdPb0L09Ak6MibSv60I7Jx3EFJaH+UdQAZ6qP7/xJN5BxAlywRtCJZ8hc21CXA/8K8Zvn6UoRHrlwG2dy5rAH3YPKJPAPfR3aN8IlFGYgNUFuQdiIjU0QwzkqoBWNmLLKwKDI+4bzE2GfrijF67mTHAck3un4/FNRCvlEYN+BhL2DR6U/K0NnYq5bW8A6mg5Wmc6k2kHc/kHUDKeoB18g4iY33AK3kHEbAGMGQAsGMGT34MsGfEfQuwEZ3PZ/C6cRwN7BNx3w+Bh3y3d8ZmRHAtAaYBv8smNJGWpmM/IvbKO5AKOgwbCCSS1E55B5CyUVgfrSp7nvDSW3n6GRklxs3KadSAf8jiRdtwDuFxPRzR/t6QtodmHqVIuBr2i0/S9+80/+zSRZdmlyVUz2jy369ZXx5JbW+lJ5NCtV8FprZo02zQQDd8ErH+8Yj1d4Wsm4rNNCCSBw1oERGpuDQHCawLXEl0OY2FWL+uPYH/SfF12/VOxPrgTAKuF0LWLY8lo1elEpFIe3qwwTev5h1IxfzVuf4JNuuJpOs/sM//PbA+yFXyR+rnnK4K94DGI+R/9ittXwSuoJhH0ID0ErRRwI1EH1W6EXgMOBOb9mkp8jsc/EbE+vkR69+LWP8llKBJfrYHLss7iIpxBwC9B8zIM5CKmudcz6R6+3ch1TzFWXOu51O9v9kKznXUd3/u0jjF2YMdEVs74v4HsY63f3BuLw9snsLrJvVSxPrPItZHnRIdm0IsaRsMbJx3ENIV++YdgIiIZCeNI2g/BnaLuO9F7JD2J1g9sfewYpC7Et0pP2vPAXOwo35xZDmhfNqOw/4e6wPP5hyLZGt3rCRE1Cl7kaJxS5h8jeguJWU1kuwLv+fB3aaxwBF5BpKBtZzrIh5sScX22GHdsJERs/F2gOsq5767uxdiqEtpjDeqaO7fhbStARdnH2bbpmKxbZt3IJIZ/3vw9HxDqRz3f/3f8g6komaS/4i9LC9VPMWpUZz56HgUZy9wEeHVk2vAwdgRNL87nestscr9eTmXxlOaQyLaRh1puye9cEQSORKN6BQRqaROErSjgA0i7jsbuDVkvZugDcQ62eflBRo7WK8Y0XajkHVzgFtSjUikfSsB/5h3ECIikr6kCdoKRJ9euRs4LeK+l/GGV++Q8LXTcjzwpu92WCIGsEXIupOxJE0kb6cDw/IOQkRE0pU0QTsLWDZk/Wzg60SPiASv8GveCdpsrJbZB87tbWkcXboHsE1g3XnYNAwiRbAS9dORiYhIBfTSfkX88dicdWF+gE0q3uw5H3Qe/0VgEjbCcw5ejZxuegmbO+0X2JGyu4GbsZFxa2Nzcbqewo5W3EFxZxEY6FwPpbgxSvr+BbiW6hX/7Da3X+wg9P+ThTKNiE+qau+b/nB0vofi/d16wDr413IORERERER8BmBHW+JaCpiFFZv16wMmEl6TqRc4BjiW8NOiYfqw04jnEV0oNg17AD/EYgf4CLgdeA37Nb0msBW2j2Zgoz9/n2E8nTob+B525O+BnGORbHyMzRv7V+DQwH2HAb/rdkAV4k5Ddxpwfs6xVNE04ABgM+D5nGNJ2+PAOLxab1UxFPtev5foeqdltRV2Ruw/gZNyjiXobuwsY1s2JbyOyKkR7ccB90U8Js7lBaI773eiB/hV4LX+D2/qB7+hWII512l3NcUtbaA6aNVXAx7FfixdTf17+B3i/wiSRqqDlq0rsP27bt6BZGAG9uOpaobhfT9WzbbYtk3NO5AQieqgbReyrg+4MGT9aOBPwNZtvobfWsD9pF+S41LqyxO8i304vx/Stg/4KZZtf4BVwQ7bXpFuWoLVGpzuWzcaOCefcEREJE3tJmiTQ9b9lsYO/gOAa4B1kgQVMAz4I+n96tqHxlNDV9C6bMYzeKPljgBWTSkekaQWAvthpztdRxBeGkZEREqk3QQtbEL034SsO5LmR73mA4ud5T5aD1QYBlxHOiNKwkoSvBmyLsy1znUP+RbaFXHNA74CvO7cHkAxD9mLiEgb2k3QVg7cfhs7BenXC5wY8th5WCf2jYHheFMl3YANcZ2CJXvzI157PTr/4hlM+NGFuP3c5uElk8M7jEUkLW8C+wKLnNvbYkeKRUSkpNpN0IJJyU00ThC7K42n//4ETMBGTD7pPOYh577NsM6Vd2H9wtYHbot4/cOwkZVJRR2BO4h4HevH4809+kwHcYik7RHqZ/A4K69ARESkc+0maMGJ0e8NabNj4PYDwO5YR3y/h53rdagv9fEKdsrmpyHP3YtNs5RUX8T6gVhn6xNpPkJzX+f6dRqPHIrk7TysoDLYD51dc4xFREQ60G6CFkxwwmpt+SdQX4x1yF8Y0s5N0JYCNgncV8Pqpv13yOP2wRK1JD4BXoy4bxB2CvYZbERn0FCsxhjABTSfzkokD4uB7/tuH5NXICIi0pl2E7TZvuUaVrQ2yF9L7HaiCxK+gdc5f7OINsdip0T9RtJZ6Y6ft7j/C8D1WAE7f7L5I2AV4AmssJ1IEU0H7nSWd8NOy4uISMm0m6C97Fv+iPCjSIt8y61OA7pH0aIStE+B40PWb9XieZu5CJsPtJWd8JKxf8aOTMzDJoNf3ORxInlza6ENAPbPMxAREUmm3QTtad9y1OTmr/uWP2rxfE841xObtPlfbBoNvzEtnreZRVjtqOCRuTC9wHeBi53b3wSe7eC1RbphOjYLB8AueQYiIiLJ9NLeB/gC3/LIiMf6C75uAzwX43k3wk7HBEeEup7BpplybRzx2u04F5vuqZ1pm/4Lm74qqh9b3sY715OxuUSlmkbQ+v3/GDZyemtssECrWoPi9YWdgBLbLIx1rrcBVsszkAwMxepjVu19M8S5XpbqbduGzvV4irdtI8FOgcQ5kuTqweqRuaM5n6YxqRqEV9C2Wad8gKXxZgh4nvoE0G849X1p5mATmifVA6yBvfncumtxE5oaNtK01dHBPIzF+gDOJHrEqpTbRrT+v4L6/5kZ1Hc9kHAjgNWx+o7v5RxLFa0KjKL5Z31ZrY19nz3dqmHJLIX1xe7DvleqZCjW5/x94K2cYwlaCy85bsudeJMzT4nRplXF/Q+cdgc2abMZ9ZNCt+ro38wyWM2oGlYmZDiWcB6CDVyIM4n7fJqfls2LJkuvPney9FYm4L1fg6OkJZwmS8+WJksvH02Wno9Ek6UD/NK3vFdEm1PwjqxNwzlcF8Hth9asmn+wTEfUyNA4LgE2x47A7Y0dCasBl2O/gs7CBic0MwT4RQcxiGTNf4R3cG5RiIhIIkkStGuBV53lQ6gvMuu6HzjTWZ6AdfQfHfF8bqf79Zq85kqB24+0DjPUGsA3nOXDqS8bAnYY9xTsF97vWzzX1kSPPhXJm3/WjCr+shcRqbQkCdoivClllgOOi2h3Bt6pyMnAX7AZAoLiJGiTfcuziVcmI8yWzvWjWNIY5RWsPMF2eKPhwuyQMA6RrI3wLRexv6SIiDSRJEEDuAxvFoGTiE6ujsbqmC3GJlq/mcYSGW6CtibRMwQc4FueRvIq/u7Ioekx298DTCI6SQvOOSpSFCs71zWsE6yIiJRI0imTlgD/hB0VG4JV3t8CmBvSdip2tOonzv3B0VEznOulsZELMwL374GV1QA7VXNhwpjB2945TVvVm4tNAfXrkPs0UlKKyp0F4w30PpXu+QL23huNjeh/G3gIex+WXX/ctrDv9DIp9d8saYIGlkgdDlyJTXh+G1ZvKayA7ZNYZf4w7hfIUKy/mj9BG4FV/nedSmfDYT90rtsdRRQ1aq7Z6U+RPLk1fuLUIRTpxChs3teDsR/ZQTXgFso5f3HcbVu6m0GlJM623d7ViNIR9292eTeDysspeMP5nyNZ+YmnnMf7J3fuwQYkuM99I179taR2cJ7rQ+r76LQykcZSGwuw4n1FojIb1Re3zMbrTttzsw2nUlRmo33fwT5P45Qn+oRyldloZ9sWUa4j1e1sW43k/b67rZ3tmk3By2yk9WRnUP9P+F3a+0XxB+ex7iTkI4HrfM/5Z9KpjD8UeMd5zrBTllGOpvGPe0YK8aRNCVr1xUnQNsB7n+6eeUTVoQQtvlHADcT/gvdfip6gJd22MhSDTrptRS/c3Mn7sfIJGsCheL+QatjE6ocTXoYj6CLnMXcCR2I1ytznuT7mc8Q1BfulU8NGmbZKJJfDyor4/6C3AgNTjCktStCqL06CdgLeF8bwzCOqDiVo8SyP9T9O8mVYw+tTXESdblsRvxdcnWzbEop7GrfTv1kn/dqzknqCBrA+1gHPv/ELgDuwD72DgZ2xudh2xD4Qj6J+5gH38hFwLJ2f1gwzCUsga9gfdreI11kNb9YB9/Ib2pu/s5uUoFVfnATtWaddGfuP5EkJWmvLYMXFk34Z1rBC4UWUxrYFa3YWRRrbVrQuPZDOdp3X9ahbyyRBA0t09scma06ys94CzsErE5CVocCPsRIENWywwtXABViiczM2o4Ab10PAnhnH1CklaNXXKkHbCu89e2g3AqoQJWitXUxnX4afUdwjMWlsWycD77KUxrb1dD3q1tLYriImng8DtQF4RWezMBYb4bk6sCL11c3BpnCaix1lWwXbYWfR3dE+vdhQ3FWxicYHY/XhPsVOhb6JneJ8t4sxJbULNsPBr/Bme5DyWQ77JT4M+1D8GDvtPxc4HXtPXhLx2HWAg7D/rfOp3qTUnWq2b9fF5gSejs3TK/XGYF1QOvEunc2lnBVtW3NF3LYRRBfKj6uI2wVwBLByLzAu4xd6Hm/uzKXwfj0twpuvcxR21G0AligF597M2sd4BXPDdGM/pcFNgFfAigNLeQzE5qOdQPQI41d9baPejx8BNwHzsb4ZEn/fvuIsj6Ac/+/dlsaR+Zco5r79UgrPoW3rrrASGu0q4naBndELK1mWizF4hxxXzzmWMtMpznJqd8j7k/mEWUrt7Fu3nU5xhnPLISW9zKK4g1bcfpvatvJs26lUc7s+V5Tz5fN9y4XeYSIpGoUNOtm7zcdpirHWkuzbUdmEUhmd/HheDBxCceeF1baFK/K2dXKGoMjb9bmiJGj+fjJDcotCpHuWx0Y3b5rgsSOxrgJlqLuUh072LRTnc7Fo+mjsRxzHYqxfZJH79fWR7LtH25afpP1ri75dn0s6WXrQLliRuHexnfYcNsPA4JiPX+JbLuoIH5G0LIOVlkmaQAxAR5qjdLpvwQYISaPpCR4zF9gPuCblWNJ2R4LHaNvyFZy3O44ybFdqerHTCFHneO8l3i+uob7HTM4i0H5CfdDKoapD3osgjX1b1DqHeZuAdVyOuy/vA8bnEWgC2rbybdtoqrldqYnzYXhZjOdZwdd+o0wirY61gH2Ab2OFfA/A65OkBK34NqGzBKIG/K3rUZfDeLRvs7YV8CLN9+Fj2GdUFkXGs6RtK9+2VXW7gM76WkwEvhWj3cHAj4AXmrTxn66ZH9mq/xqFTSR/MOFDi2vALcDb3QxKEvl2Cs8xLYXnqKJdUngO7dvmHsDqxX0VmzZvVayLyjvYaMFbsS/MMtK2lU9Vt6tjJxP/V2mrInnb+dqqb029dsoEuHOM6ghacVV1yHsRXID2rYhURCdH0Nop7ja6xf1rOtcfUvBhr12UpEzAMtmEIilavYPHlmJoeI5W7OCx2rciUiidJGhz2mj7Tov7pzjXzar59yedlgkYmGIskq6qDnkvgsoPuxcRieM7xDttsIjmRw0GYuU5asBJGcZbFssAT9DZqZotux61xHUV7f895wB75RFsyRyD9q2ICBOJ9wF4dovnOdzXdv2sgi2YIcBOEZeb6Sw5WwLsFvK847uxYdJSVYe8F8FYtG9FRADrVNssUbiQ5sVwh/me44ZMIy2WNeksCUty0fyCxVHpoeE5074VkUrodEqTs4FLnOVPsU7tQ4FXsUq9T7R4/PnYL9jPgNM6jKVMlmADIoKGEH/2hSjzCe+Lo+roxeEODd8VG8G8CvaeeBd4Hut/ODO36MpN+1ZEBKtm/hjeL9MbiD991Am+x52YSXTl82c6O0o2C5UJEBEREWA1bJSmmyTcRfMSHMOAn/na34hONbhmkjw5W4Tqn4mIiIjPROAVvGShDzvduR+wObAxsAdWSPJtX7trUUkIv6dInpz9fQ7xioiISMGtBFxHvISiDzutqQmf6/2c9pMzlQkQERGRlrYELgXepDGZeBY4EzstKo3WQGUCREREJGMjgbWxxGNQzrGUhcoEiIiI9HP6gi+mHmB7YDIwBkvKZmODCO7BypiIiIhIRf0/0qy+rxPKvQIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 50,
       "width": 308
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "m.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In :ref:`Chapter 55<usersGuide_55_advancedMeter>` we will learn how to adjust `TimeSignature` objects to make them give different beaming patterns by default, but for now, you can trust that for most common time signatures, the beaming will be at least acceptable.\n",
    "\n",
    "We've gone through the basics and more advanced topics regarding Clefs, Ties, and Beams, which are fundamental musical objects.  Other musical objects give great spice to music, and we will see them next in :ref:`Articulations <usersGuide_32_articulations>`."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
